WordPress小部件类别钩子

时间:2016-07-17 03:04:28

标签: php wordpress taxonomy

我看到有一个get_the_categories钩子。这似乎不会影响默认WP类别小部件输出的类别。

function wp_cat_filter($categories) {
  var_dump($categories); // I'd like to remove a category before it's output.
} 
add_filter('get_the_categories','wpr_cat_filter');

这很好用,我有一个对象可以在这里工作,但不是在它的小部件?我想在这里删除一个类别。

是否有特定于窗口小部件类别的钩子并且不会调用get_categories函数?

1 个答案:

答案 0 :(得分:1)

我认为您应该可以使用https://en.wikipedia.org/wiki/Fluent_interface过滤器:

  

此过滤器由默认的WordPress窗口小部件使用:之前的类别   它将参数传递给wp_list_categories()函数。

例如,这样的事情可能会起作用:

function wpr_cat_filter($args) {
  // remove category 1, 2 and 3
  $exclude = array(1, 2, 3);

  if (isset($args['exclude'] ) && !empty($args['exclude'])) {
     $exclude = array_unique(array_merge(explode(',', $args['exclude']), $exclude));
   }
   $args['exclude'] = implode(',', $exclude);
   return $args;
}  

add_filter('widget_categories_args', 'wpr_cat_filter');