在管理仪表板中显示注册分类

时间:2014-05-07 作者:tali

我安装了一个主题,并试图遵循其逻辑和层次结构,以便注册和显示新的分类法。因此,我添加了一个名为product的新帖子类型(它在管理面板中正确显示),现在我想向其中添加一个名为product category的新分类法。

然而,这种新的分类法没有显示在管理中我不知道为什么?代码如下:

       class SH_Taxonomies
      {
    function __construct()
       {
    // Hook into the \'init\' action
add_action( \'init\', array($this, \'taxonomies\'), 0 ); }

    // Register Custom Taxonomy
        function taxonomies()  {

       register taxonomy
           $labels = array(
            \'name\'                       => _x( \'Category\', \'Product Category\', SH_NAME ),
        \'singular_name\'              => _x( \'Category\', \'Category\', SH_NAME ),
        \'menu_name\'                  => __( \'Category\', SH_NAME ),
        \'all_items\'                  => __( \'All Categories\', SH_NAME ),
        \'parent_item\'                => __( \'Parent Category\', SH_NAME ),
        \'parent_item_colon\'          => __( \'Parent Category:\', SH_NAME ),
        \'new_item_name\'              => __( \'New Category Name\', SH_NAME ),
        \'add_new_item\'               => __( \'Add New Category\', SH_NAME ),
        \'edit_item\'                  => __( \'Edit Category\', SH_NAME ),
        \'update_item\'                => __( \'Update Category\', SH_NAME ),
        \'separate_items_with_commas\' => __( \'Separate Categories with commas\', SH_NAME ),
        \'search_items\'               => __( \'Search Categories\', SH_NAME ),
        \'add_or_remove_items\'        => __( \'Add or remove Categories\', SH_NAME ),
        \'choose_from_most_used\'      => __( \'Choose from the most used Categories\', SH_NAME ),
    );

    $rewrite = array(
        \'slug\'                       => \'product_category\',
        \'with_front\'                 => true,
        \'hierarchical\'               => true,
    );

    $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( \'product_category\', \'sh_product\', $args );
    }
    }

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

您的代码中有几个bug和一些其他错误。他们在这里

首先

分析错误:语法错误,中出现意外的T\\U字符串。。。。\\函数\\t。php在线12

这是一段根本不应该存在的代码。

 register taxonomy
你可以简单地删除它。它在那里没有任何功能

其次,你实际上需要注册你的班级。你只需这样做就可以做到

$taxregister = new SH_Taxonomies();
不相关,但有一个bug(或者实际上有几个bug)

注意:使用未定义的常量SH\\u NAME-在中假定为“SH\\u NAME”。。。\\函数\\t。php第13行

,您的文本域名应位于\', 所以

_x( \'Category\', \'Product Category\', SH_NAME ),

应该是

_x( \'Category\', \'Product Category\', \'SH_NAME\' ),

请注意,您的文本域应该与在样式中注册的文本域相同。css,如果这是在主题中

因此,您的完整代码应该是

<?php
  class SH_Taxonomies
      {
    function __construct()
       {
    // Hook into the \'init\' action
add_action( \'init\', array($this, \'taxonomies\'), 0 ); }

    // Register Custom Taxonomy
        function taxonomies()  {

           $labels = array(
            \'name\'                       => _x( \'Category\', \'Product Category\', \'SH_NAME\' ),
        \'singular_name\'              => _x( \'Category\', \'Category\', \'SH_NAME\' ),
        \'menu_name\'                  => __( \'Category\', \'SH_NAME\' ),
        \'all_items\'                  => __( \'All Categories\', \'SH_NAME\' ),
        \'parent_item\'                => __( \'Parent Category\', \'SH_NAME\' ),
        \'parent_item_colon\'          => __( \'Parent Category:\', \'SH_NAME\' ),
        \'new_item_name\'              => __( \'New Category Name\', \'SH_NAME\' ),
        \'add_new_item\'               => __( \'Add New Category\', \'SH_NAME\' ),
        \'edit_item\'                  => __( \'Edit Category\', \'SH_NAME\' ),
        \'update_item\'                => __( \'Update Category\', \'SH_NAME\' ),
        \'separate_items_with_commas\' => __( \'Separate Categories with commas\', \'SH_NAME\' ),
        \'search_items\'               => __( \'Search Categories\', \'SH_NAME\' ),
        \'add_or_remove_items\'        => __( \'Add or remove Categories\', \'SH_NAME\' ),
        \'choose_from_most_used\'      => __( \'Choose from the most used Categories\', \'SH_NAME\' ),
    );

    $rewrite = array(
        \'slug\'                       => \'product_category\',
        \'with_front\'                 => true,
        \'hierarchical\'               => true,
    );

    $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( \'product_category\', \'sh_product\', $args );
    }
    }

$taxregister = new SH_Taxonomies();

结束

相关推荐