問題描述
我正在尋找一種方式來顯示 WordPress 管理部分中的發佈編輯屏幕/標籤邊框上的所有帖子標籤。默認情況下 WordPress 顯示 45 個最常用的標籤,但我需要一種方法來列出所有標籤,或至少增加此限制。
我在這裏發現了類似的問題 Showing all tags in admin -> edit post 。但它建議編輯/修改 WordPress 核心文件,這不是我真正想要的。因為升級 WordPress 會是一個巨大的問題。
我在 Google 搜索中找不到任何東西。那麼有什麼辦法可以在帖子編輯頁面上列出全部或者多於 45 個標籤。
最佳解決方案
我會説最簡單的方法是使用 get_terms_args 過濾器並取消設置 number 限制,如果上下文是正確的 (AJAX 請求獲取標籤雲):
function wpse_64058_all_tags ( $args ) {
if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'get-tagcloud' )
unset( $args['number'] );
return $args;
}
add_filter( 'get_terms_args', 'wpse_64058_all_tags' );
注意:在編輯框中,鏈接仍將顯示 「從最常用的標籤中選擇」,即使我們正在顯示所有標籤。
編輯:正如 @bonger 所建議的,您可以從引用者中確定帖子類型:
if ( $qs = parse_url( wp_get_referer(), PHP_URL_QUERY ) ) {
parse_str( $qs, $args );
if ( ! empty( $args['post_type'] ) )
$post_type = $args['post_type'];
elseif ( ! empty( $args['post'] ) )
$post_type = get_post_type( $args['post'] );
else
$post_type = 'post';
}
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。