我已经在Wordpress中注册了自定义分类法,由于引入了Gutenberg,所以我无法弄清为什么它没有在标准的Wordpress帖子中显示。我的意思是,添加或编辑帖子时它不会显示在文档侧栏中。 “类别”和“标签”也是如此,它们显然是标准分类法。
我已经确保'show_in_rest'=> true表示分类法注册,但没有任何区别。
它们似乎正在部分注册,因为它们显示在左侧主菜单的“帖子”下,这表明可能与古腾堡有关?
有什么想法吗?
// Register taxonomy
add_action( 'init', 'register_taxonomy_articles_element' );
function register_taxonomy_articles_element() {
$labels = array(
'name' => _x( 'Elements', 'articles_element' ),
'singular_name' => _x( 'Element', 'articles_element' ),
'search_items' => _x( 'Search Elements', 'articles_element' ),
'popular_items' => _x( 'Popular Elements', 'articles_element' ),
'all_items' => _x( 'All Elements', 'articles_element' ),
'parent_item' => _x( 'Parent Element', 'articles_element' ),
'parent_item_colon' => _x( 'Parent Element:', 'articles_element' ),
'edit_item' => _x( 'Edit Element', 'articles_element' ),
'update_item' => _x( 'Update Element', 'articles_element' ),
'add_new_item' => _x( 'Add New Element', 'articles_element' ),
'not_found' => _x( 'No Elements found', 'articles_element' ),
'new_item_element' => _x( 'New Element', 'articles_element' ),
'separate_items_with_commas' => _x( 'Separate Elements with commas', 'articles_element' ),
'add_or_remove_items' => _x( 'Add or remove elements', 'articles_element' ),
'choose_from_most_used' => _x( 'Choose from the most used elements', 'articles_element' ),
'menu_name' => _x( 'Elements', 'articles_element' )
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_in_nav_menus' => true,
'show_in_rest' => true,
'show_ui' => true,
'show_tagcloud' => true,
'hierarchical' => true,
'rewrite' => true,
'query_var' => true
);
register_taxonomy( 'element', array('post'), $args );
}
答案 0 :(得分:1)
如果仍然存在显示分类法或Gutenberg编辑器的问题,请在自定义帖子类型和分类法中同时添加'show_in_rest' => true,
。
答案 1 :(得分:1)
您面临的问题可以通过将列表中的 'rewrite'
属性从 true
更改为 array( 'slug' => 'your-taxonomy-slug' )
来解决,这样新的 'rewrite'
应该看起来像 {{1} } 并且您可以放置任何 slug 而不是 'rewrite' => array( 'slug' => 'your-taxonomy-slug' )
。
为什么这应该起作用我不完全理解,但看起来块编辑器使用了 Rest API,由于某种原因无法在不重写 slug 的情况下处理分类法!那里有些奇怪,因为所有其他功能都可以正常工作,只是出于某种原因才在古腾堡内部。
如果这不起作用,则可能是主题或插件冲突...尝试停用某些内容以查看导致冲突的原因。
答案 2 :(得分:0)
由于Gutenberg基于REST API进行工作,因此您需要为任何自定义帖子类型和分类标准打开对REST API的支持。您需要将其他键show_in_rest = true
添加到$args
数组中。您的完整代码应如下所示:
$args = array(
'labels' => $labels,
'public' => true,
'show_in_rest' => true, // add support for Gutenberg editor
'publicly_queryable' => true,
'show_in_nav_menus' => true,
'show_in_rest' => true,
'show_ui' => true,
'show_tagcloud' => true,
'hierarchical' => true,
'rewrite' => true,
'query_var' => true
);
答案 3 :(得分:0)
经过大量调查,似乎上面的代码没有问题(正确)。问题在于第二个自定义分类法,称为“类型”。事实证明,Wordpress包含许多“ reserved terms”,其中一个是“ type”。重命名此分类法后,包括Gutenberg在内的两个分类法都可以正常工作。