![](/img/trans.png)
[英]Get child and parent category name (custom taxonomy) from current post (custom post type)
[英]Get the current page custom taxonomy use to query custom post type
到目前为止,我有一个自定义分类法,该分类法被注册为与特定页面相关联的称为position
,以及一个名为People
的自定义帖子类型。 我还有一个页面,该页面已将自定义分类法设置为也使用position
分类法。
我想做的就是获取它,以便我可以查询People
的自定义帖子类型,以显示具有在页面上设置的自定义分类法以及帖子类型的条目列表。
例如,分类学position
分配了一些项目,例如: -销售,会计,等我有自定义职位类型的某些条目People
如-约翰,玛丽,山姆等我有约翰和玛丽设为在这种情况下,请使用Sales
的分类法。
在Sales页面上,我设置为使用Sales
的自定义position
分类法。
我想要得到的是获得的自定义分类position
销售模板页面上应返回的名称和/或蛞蝓Sales
,然后采取这一信息,并把它传递到一个查询所要检查的People
自定义后的类型和从相关的习惯分类中删除相关人员。 在这种情况下,应该可以在“销售”页面上拉开约翰和玛丽的两个人。
到目前为止,我在“销售”模板页面上具有以下内容:
<?php $tax = get_terms( array( 'taxonomy' => 'position' ) ); ?>
这给了我一系列的术语,但是如何获得在页面上设置的相关分类法名称的名称,然后将其传递给查询以获取人员呢?
看起来,如果我使用get_terms
它可以为我提供一切,并且只需要用于该特定页面的一组分类法即可,将其分配给变量,然后将其用于如下查询:
<?php $args = array( 'post_type' => 'people', 'taxonomy' => $tax);
$loop = new WP_Query( $args ); ?>
好的,我最终弄清楚了。
为了完成这项工作,您需要从页面获取当前的帖子ID,将其传递给get_the_terms
,然后构造一个查询以使用tax_query
查询自定义帖子类型,然后将其传递给tax_query
数组:
<?php
$id = get_post($post->ID);
$tax = get_the_terms($id, 'position');
$args = array(
'post_type' => 'people',
'tax_query' => array(
array(
'taxonomy' => 'position',
'field' => 'slug',
'terms' => $tax[0]->slug,
),
),
);
$loop = new WP_Query( $args );
?>
这将在当前页面和自定义帖子类型之间交叉引用自定义分类,并获得使用特定分类(在这种情况下为Sales)分配的那些帖子类型。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.