繁体   English   中英

限制 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM