自定义分类模板显示404错误

时间:2017-10-21 作者:Orkhan Hasanli

我创建了分类法&;自定义帖子类型。代码如下:

add_action(\'init\', \'register_post_types\');
function register_post_types(){
    register_taxonomy(\'products\', array(\'product\'), array(
        \'label\'                 => \'Категории продукции\',
        \'labels\'                => array(
            \'name\'              => \'Категории продукции\',
            \'singular_name\'     => \'Категории продукции\',
            \'search_items\'      => \'Поиск категорий\',
            \'all_items\'         => \'Все категории\',
            \'parent_item\'       => \'Родит. категория\',
            \'parent_item_colon\' => \'Родит. категория:\',
            \'edit_item\'         => \'Редактировать категорию\',
            \'update_item\'       => \'Обновить категорию\',
            \'add_new_item\'      => \'Добавить категорию\',
            \'new_item_name\'     => \'Заголовок\',
            \'menu_name\'         => \'Категории продукции\',
        ),
        \'description\'           => \'Категории продукции\',
        \'public\'                => true,
        \'show_in_nav_menus\'     => false,
        \'show_ui\'               => true,
        \'show_tagcloud\'         => false,
        \'hierarchical\'          => true,
        \'query_var\'             => true,
        \'rewrite\'               => array(\'slug\' => \'products\', \'with_front\' => true),
        \'show_admin_column\'     => true,
    ) );

register_post_type(\'product\', array(
        \'label\'  => \'Продукция\',
        \'labels\' => array(
            \'name\'               => \'Продукция\',
            \'singular_name\'      => \'Продукция\',
            \'add_new\'            => \'Добавить новую\',
            \'add_new_item\'       => \'Введите заголовок\',
            \'edit_item\'          => \'Редактирование продукции\',
            \'new_item\'           => \'Новая продукция\',
            \'view_item\'          => \'Посмотреть продукцию\',
            \'search_items\'       => \'Поиск продукции\',
            \'not_found\'          => \'Продукций не найдено\',
            \'not_found_in_trash\' => \'В корзине продукций не найдено\',
            \'parent_item_colon\'  => \'\',
            \'menu_name\'          => \'Продукция\',
        ),
        \'description\'         => \'Наша продукция\',
        \'public\'              => true,
        \'publicly_queryable\'  => true,
        \'exclude_from_search\' => false,
        \'show_ui\'             => true,
        \'show_in_menu\'        => true,
        \'show_in_admin_bar\'   => true,
        \'menu_position\'       => 23,
        \'menu_icon\'           => \'dashicons-list-view\', 
        \'capability_type\'   => \'post\',
        \'map_meta_cap\'      => true,
        \'hierarchical\'        => false,
        \'supports\'            => array(\'title\', \'thumbnail\'),
        \'taxonomies\'          => array(\'products\'),
        \'has_archive\'         => true,
        \'rewrite\'             => array(\'slug\' => \'product\', \'with_front\' => false),
        \'query_var\'           => true,
    ) );

}
然后我复制了我的档案。php,将其重命名为分类产品。php并更新Permalinks。

但当我尝试打开/产品时,页面显示404错误。我还禁用了WP No category base插件和相同的错误。

我刚刚尝试了其他帖子的其他答案:

我解决了这个问题,确保注册分类的调用放在注册自定义帖子类型的调用之前。很奇怪,但很有效!

\'rewrite\' => array(
            \'slug\'          => \'brands\',
            \'with_front\'    => true
  )
还检查了以下内容:

如果将“重写”=>设置为false,则不会再给您带来任何问题

我怎样才能解决这个问题?提前感谢!

1 个回复
SO网友:Narkanister

我的自定义分类法是;主题–我需要一个页面来显示/topic上的所有主题,但它给出了404。

因此,我在Wordpress管理员中创建了一个普通页面,其中包含slug/topic。然后我手动选择页面的模板:

    function add_custom_templates( $original_template ) {

   global wp;
   if( isset( $wp ) ) {
        if( $wp->request == \'topic\' ) {
            return trailingslashit( get_template_directory() ) . \'page-topic.php\';
    }} add_action( \'template_include\', \'add_custom_templates\' );
请原谅格式化-这个编辑器很恶心!

结束

相关推荐

Search Media by taxonomy

如何根据前端的分类法搜索媒体?以下查询显示我希望通过搜索返回的内容:$args = array( \'post_type\' => \'attachment\', \'post_status\' => \'inherit\', // for PDFs \'post_mime_type\' => \'application/pdf\', // if you need PDFs from a specific media c