WordPress exclude category from shortcode

WordPress 排除 Shortcode 的特定分類

雖然我們可以透過 WP_Query 來取得已排除特定分類的列表,但在Plugin中我們無法去控制其他 Plugin 使用什麼樣的方法來取得分類列表,我以本篇介紹用 get_terms_args 這個 filter,過濾所有 get_terms 的參數,達到強制排除所有特定分類的目的。

用法:

/**
* v123 DEV
* https://v123.tw
*/
add_filter( 'get_terms_args', 'v123DEV_exclude_terms_args', 10, 2 );
/**
 * Exclude categories
 */
 function v123DEV_exclude_terms_args( $args, $taxonomies ) {
    if ( is_admin() && 'category' !== $taxonomies[0] )
        return $args;

    $args['exclude'] = array( 8, 10); // Array of cat ids you want to exclude
    return $args;
}

參考資料:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料