Invalid Taxonomy

时间:2012-04-16 作者:Mike

因此,我注册了一个自定义帖子类型以及该帖子类型的分类法。然后,我在该分类法中创建了两个项目,但当我单击其中任何一个时,发现它们是无效的分类法。

enter image description here

下面是我用来创建自定义帖子类型+分类法的代码。我有一个插件。

class GW_Guides_Post_Type {
    public function __construct() {
        $this->register_post_type();
        $this->metaboxes();
        $this->guides_taxonomy();
    }

    public function guides_taxonomy() {
        register_taxonomy(
            \'Guide Categories\',
            \'gw_guides\',
            array(
                \'hierarchical\' => true,
                \'label\' => \'Guide Categories\')
        );
    }

    public function register_post_type() {
        $args = array(
            \'labels\' => array(
                \'name\' => \'Guides\',
                \'singular_name\' => \'Guide\',
                \'add_new\' => \'Add New Guide\',
                \'add_new_item\' => \'Add New Guide\',
                \'edit_item\' => \'Edit Item\',
                \'new_item\' => \'Add New Item\',
                \'view_item\' => \'View News\',
                \'search_items\' => \'Search Guides\',
                \'not_found\' => \'No Guides Found\',
                \'not_found_in_trash\' => \'No Guides Found In Trash\'
            ),
            \'query_var\' => \'guides\',
            \'rewrite\' => array(
                \'slug\' => \'guides\',
            ),
            \'public\' => true,
            \'menu_position\' => 5,
            \'menu_icon\' => admin_url() . \'images/media-button-other.gif\',
            \'supports\' => array( \'title\', \'editor\', \'excerpt\', \'thumbnail\' ),
            \'has_archive\' => true
        );
        register_post_type(\'gw_guides\', $args);
    }   

    public function metaboxes() {
        add_action(\'add_meta_boxes\',\'add_guides_meta\');

        function add_guides_meta() {
            // css id, title, cb funct, page, priority, cb funct arguments
            add_meta_box(\'gw_guides_meta\', \'Featured\', \'guides_meta\', \'gw_guides\');     
        }

        function guides_meta($post) {
            $featured = get_post_meta($post->ID, \'featured\', true);
            ?>
                <p>
                    <label for="featured">Featured:</label>
                    <?php 
                        if ($featured == "True") {
                            $checked = \'checked\';
                        } else {
                            $checked = \'\';
                        }
                    ?>
                    <input type="checkbox" name="featured" id="featured" value="True" <?php print($checked) ?> />
                    <?php echo $featured; ?>
                </p>
            <?php
        }

        add_action(\'save_post\', \'save_guides_meta\');

        function save_guides_meta($id) {
            update_post_meta(
                $id,
                \'featured\',
                strip_tags($_POST[\'featured\'])
            );      
        }
    }

}

function add_gw_guides() {
    new GW_Guides_Post_Type();
}

add_action(\'init\', \'add_gw_guides\');

?>

1 个回复
SO网友:Tom J Nowell

你的分类法中的slug“Guide Categories”无效。第一个参数是分类法的名称,而不是人类可读的分类法名称。在标签中定义。

我建议您使用此生成器生成分类注册码:

http://themergency.com/generators/wordpress-custom-taxonomy/

它涵盖了一个很好的分步向导中可用的所有选项,并提供了合理的默认值和解释,并且为您生成完整的注册代码片段需要大量的工作

对于奖励积分,您也可以使用他们的自定义post type生成器

结束

相关推荐

NEXT_POST_LINK()中的EXCLUDE_CATEGORIES参数行为异常

我有一个Wordpress模板。php页面。该页面有“下一页”和“上一页”箭头,允许浏览所有帖子。我想将某些类别的帖子排除在“下一个”和“上一个”计算中。我有以下代码: // in single.php next_post_link( \'%link\', \'&larr; Previous\', false, \'11 and 13 and 15\'); 这应该会显示到下一篇文章的链接。第11、13和15类的职位不应按照the $ignore_categories para