問題描述
被賦予分類學或術語,是否有可能拉分類所附加的任何/所有職位類型?
例如,知道內部分類 category 或 category 分類中的術語是否具有反向工程功能,category 是 post 的分類學?
不需要的信息
我正在使用特定需要知道帖子類型的分類術語中的一些自定義字段,但是如果 URL 中的帖子類型參數不在於任何原因我遇到麻煩。
最佳解決方案
如果我們窺視全球 $wp_taxonomies 變量,我們會看到相關的對象類型。
可能會有更好的方法來做這個甚至是核心的功能,但你可以嘗試以下幾點:
function wpse_172645_get_post_types_by_taxonomy( $tax = 'category' )
{
global $wp_taxonomies;
return ( isset( $wp_taxonomies[$tax] ) ) ? $wp_taxonomies[$tax]->object_type : array();
}
那麼對於默認設置,你可以得到:
$out = wpse_172645_get_post_types_by_taxonomy( 'category' );
print_r( $out );
輸出:
Array
(
[0] => post
)
次佳解決方案
您可以使用 get_object_taxonomies 做相反的操作。將其與 get_post_types 組合以迭代郵件類型以檢查每個註冊的分類標準。
EDIT-這是一個例子,它產生與 @ birgire 的函數相同的輸出,而不使用髒的全局變量。
function wpse_172645_get_post_types_by_taxonomy( $tax = 'category' ){
$out = array();
$post_types = get_post_types();
foreach( $post_types as $post_type ){
$taxonomies = get_object_taxonomies( $post_type );
if( in_array( $tax, $taxonomies ) ){
$out[] = $post_type;
}
}
return $out;
}
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。