2016-07-17 37 views
0

我看到有一個get_the_categories鉤子。這似乎沒有影響默認WP類別小部件輸出的類別。WordPress Widget分類鉤

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

我想你應該能夠使用widget_categories_args過濾器:

該過濾器使用WordPress默認的Widget: 之前分類它傳遞參數給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'); 
+1

啊。這非常合理。謝謝。 –