分类不遵循鼻涕虫固定链接结构

时间:2019-06-12 作者:Hewe

我从一个新模板开始,添加了Post Type 根据规范GenerateWP.

然后,我向自定义帖子类型添加了一个分类法,也根据上面引用的网站:

// Register Custom Taxonomy
function addIssuesTaxonomy() {

    $labels = array(
        \'name\'                       => _x( \'Issues\', \'Taxonomy General Name\', \'text_domain\' ),
        \'singular_name\'              => _x( \'Issue\', \'Taxonomy Singular Name\', \'text_domain\' ),
        \'menu_name\'                  => __( \'Issues\', \'text_domain\' ),
        \'all_items\'                  => __( \'All Issues\', \'text_domain\' ),
        \'parent_item\'                => __( \'Parent Issue\', \'text_domain\' ),
        \'parent_item_colon\'          => __( \'Parent Issue:\', \'text_domain\' ),
        \'new_item_name\'              => __( \'New Issue Name\', \'text_domain\' ),
        \'add_new_item\'               => __( \'Add New Issue\', \'text_domain\' ),
        \'edit_item\'                  => __( \'Edit Issue\', \'text_domain\' ),
        \'update_item\'                => __( \'Update Issue\', \'text_domain\' ),
        \'view_item\'                  => __( \'View Issue\', \'text_domain\' ),
        \'separate_items_with_commas\' => __( \'Separate issues with commas\', \'text_domain\' ),
        \'add_or_remove_items\'        => __( \'Add or remove issues\', \'text_domain\' ),
        \'choose_from_most_used\'      => __( \'Choose from the most used\', \'text_domain\' ),
        \'popular_items\'              => __( \'Popular Issues\', \'text_domain\' ),
        \'search_items\'               => __( \'Search Issues\', \'text_domain\' ),
        \'not_found\'                  => __( \'Not Found\', \'text_domain\' ),
        \'no_terms\'                   => __( \'No items\', \'text_domain\' ),
        \'items_list\'                 => __( \'Issues list\', \'text_domain\' ),
        \'items_list_navigation\'      => __( \'Issues list navigation\', \'text_domain\' ),
    );
    $rewrite = array(
        \'slug\'                       => \'issues\',
        \'with_front\'                 => true,
        \'hierarchical\'               => false,
    );
    $args = array(
        \'labels\'                     => $labels,
        \'hierarchical\'               => true,
        \'public\'                     => true,
        \'show_ui\'                    => true,
        \'show_admin_column\'          => true,
        \'show_in_nav_menus\'          => true,
        \'show_tagcloud\'              => true,
        \'rewrite\'                    => $rewrite,
    );
    register_taxonomy( \'issues\', array( \'articles\' ), $args );

}
add_action( \'init\', \'addIssuesTaxonomy\', 0 );
然后我将永久链接保存在此结构中http://xxx/sample-post/, 但无论如何,新添加的分类法不会出现在http://xxx/issues. 相反,我得到了404。导航到/articles/issues/ 也导致404。

为了显示所有issues 在新创建的分类中找到?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

WordPress中没有这样的页面。/issues/ 不存在。所有WordPress URL要么显示单个帖子/页面,要么显示帖子/页面列表(搜索、日期存档、类别存档等)。所以WordPress不可能列出术语。如果您创建了一个新问题,那么可以在/issues/issue-name/, 但上面什么都不存在/issues/ 它本身。

如果要列出所有问题,最简单的方法是创建一个名为“问题”的页面,然后创建一个自定义页面模板,列出问题分类法中的所有术语。你可以用get_terms():

$issues = get_terms( [ \'taxonomy\' => \'issues\' ] );

if ( ! is_wp_error( $issues ) && $issues ) {
    foreach( $issues as $issue ) {
        echo $issue->name; // Name of issue.
        echo get_term_link( $issue ); // URL to articles in that issue.
    }
}

相关推荐

付费会员专业版在PHP中显示用户名

我正在使用插件Paid Membership Pro (free version). 在标题下方,如果有用户登录到我的网站,我希望它说:欢迎使用用户名我该怎么做?以下是获取成员级别的方法:if( is_user_logged_in() && function_exists(\'pmpro_hasMembershipLevel\') && pmpro_hasMembershipLevel() ) { gl