我正在创建一个图库,它将自动显示所选类别及其子类别中的新图像。我已经设置了类别,以便将其应用于媒体:register\\u taxonomy\\u for\\u object\\u type(\'category\',\'attachment\');
现在我需要这样做,类别将计算相关附件,而不仅仅是帖子
我找到了此链接How to Override default update_count_callback for category 使用此代码:
function change_category_arg() {
global $wp_taxonomies;
if ( ! taxonomy_exists(\'category\') )
return false;
$new_arg = &$wp_taxonomies[\'category\']->update_count_callback;
$new_arg->update_count_callback = \'your_new_arg\';
}
add_action( \'init\', \'change_category_arg\' );
但到目前为止,我还没有弄清楚(不确定它是否起作用,或者我只是不理解一些东西,比如什么是“your\\u new\\u arg”)
我在注册新分类法时确实找到了update\\u count\\u回调函数选项,但我不想创建自己的分类法,我想将其与现有类别分类法一起使用。
非常感谢您的帮助。谢谢
SO网友:babybunnies
您可能已经解决了这个问题,但对于其他需要此解决方案的人:
$wp_taxonomies[\'category\']->update_count_callback = \'_update_generic_term_count\';
这在附件的情况下非常重要。由于附件是post的一种类型,因此将使用默认的\\u update\\u post\\u term\\u count()。然而,这可能是不可取的,因为这将只计算实际附加到另一篇文章的附件(例如在文章中插入图像时)。这意味着,您只需使用媒体库上传到WordPress,但实际上没有附加到其他帖子的附件将不被计算在内。如果将分类法与附件关联的目的是利用媒体库作为一种文档管理解决方案,那么您可能更感兴趣的是未附加的媒体项的数量,而不是附加到帖子的媒体项的数量。在这种情况下,应通过将“\\u update\\u generic\\u term\\u count”设置为update\\u count\\u回调的值,强制使用\\u update\\u generic\\u term\\u count()。
从…起Wordpress Codex on register_taxonomy