问题描述
被赋予分类学或术语,是否有可能拉分类所附加的任何/所有职位类型?
例如,知道内部分类 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。