WordPress 小部件类别挂钩
WordPress Widget Categories hook
我看到有一个 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 函数?
我认为您应该可以使用 widget_categories_args
过滤器:
This filter is used by the default WordPress Widget: Categories before
it passes arguments to the wp_list_categories() function.
例如,这样的方法可能有效:
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');
我看到有一个 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 函数?
我认为您应该可以使用 widget_categories_args
过滤器:
This filter is used by the default WordPress Widget: Categories before it passes arguments to the wp_list_categories() function.
例如,这样的方法可能有效:
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');