![](/img/trans.png)
[英]Edit a theme file to limit post grab to a certain category (WordPress)
[英]Limit category list view in WordPress Post edit
当您编辑帖子时,我试图在 WP admin 中隐藏类别列表。 由于我有数百个类别,因此网站会被冻结,直到类别列表完全加载。 我想限制要显示或不显示的类别数量,并手动命名要添加帖子的类别。
(我有一个名为作者的自定义类别,但相同)
我们实际上处理了一个类似的问题。 有数百个分类术语导致编辑器需要很长时间才能加载。 这是分层分类法(如类别)而不是单级分类法(如标签)的问题。
您可能要考虑的第一件事是使用remove_meta_box()
函数删除元remove_meta_box()
。 您可以通过它的句柄删除taxonomy-slugdiv
,它应该是taxonomy-slugdiv
:
add_action( 'admin_menu', 'so60570776_remove_metaboxes', 100 );
function so60570776_remove_metaboxes(){
remove_meta_box( 'my-custom-taxonomy-slugdiv', 'post', 'side' );
remove_meta_box( 'anothertaxonomydiv', 'post', 'side' );
}
现在,这将允许您加载编辑器,而无需花费大量时间加载分类法的分层复选框列表。
现在,困难的部分是您希望如何实现让人们添加/删除分类术语(或类别)取决于您。 您可以构建一个可搜索的复选框列表,您可以根据当前用户自动添加术语,任何最适合您的特定场景的术语。
在我的特殊情况下,我构建了一个自定义元框,允许用户搜索分类术语,并沿途应用所有祖先分类术语,利用几个 AJAX 函数。 这是它的样子:
从而使文本输入运行命名的JavaScript函数我有这一套termQueryAdvanced
运行名为PHP函数term_query_advanced
并返回通过AJAX的结果。 然后一旦社区(如“Greater Newport Area”)被点击,它就会将其添加到“Current Neighborhoods”下的紫色标签框中。
它基本上利用WP_Term_Query()
类和文本输入提供name__like
参数进行搜索。 当单击所需的一个时,它然后使用get_ancestors()
和wp_set_object_terms()
自动应用该术语和所有父术语(在我的情况下,按层次结构, neighborhood
> city
> state
> country
)。
我还在紫色标签上添加了一些 CSS 以在悬停时显示“X”,单击时将使用wp_remove_object_terms()
将wp_remove_object_terms()
该术语。
这都是从我使用add_meta_boxes
挂钩上的add_meta_boxes
add_meta_box()
函数添加的add_meta_boxes
框处理的。
我的实现可能要复杂得多大多数人都需要(而且将需要大量的操纵,甚至显示在这里),但我定制它适合我的确切使用情况。 同样,一旦您删除元框,您希望如何允许人们添加分类术语取决于您,坦率地说,甚至可能有插件可以为您处理,但我个人并不熟悉任何插件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.