Wordpress通过税收条款获得帖子 - 税收条款是页面slu

时间:2016-11-07 04:42:18

标签: php wordpress custom-wordpress-pages

有人可以帮我解决这个问题,因为我对PHP很陌生吗?

我有一个包含分类和术语的自定义类别: 即 主要画廊(自定义类别) - Gallery One(taxomony 1)     - 专辑一(第1期)     - 专辑二(第二期) - Gallery Two(taxomony 1)

我想显示相册1(第1期)中的所有帖子。

到目前为止,我有这个代码:slug名称是在前端打印但不是用来返回帖子,是不是这个位 'terms' => array_shift( $terms ) ??

如果我在数组中指定Term名称但是我需要它从页面slug中读取,我可以使用它。

如上所述,我是PHP的新手,可能在某处有结构错误,做了一些事情来扰乱循环或类似。非常感谢任何帮助。

代码:

<?php

$terms = get_the_terms( $post->ID, 'pubgal' ); // get the term $term = array_shift( $terms );
echo $term->slug;
$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'pubgal',
            'field' => 'slug',
            'terms' => array_shift( $terms )
        ),
    ),
    'post_type' => 'gallery'
);
$query = new WP_Query( $args ); 
if ( $query->have_posts() ) { 
    $term = $query->queried_object;
    while ( $query->have_posts() ) :
        $query->the_post();
        the_title(); 
        the_content(); 
        the_post_thumbnail(); 
    endwhile; 
}
//RESET YOUR QUERY VARS
wp_reset_query();

?> 

1 个答案:

答案 0 :(得分:0)

您需要循环浏览$terms才能获得term_id因为您在get_terms()中有fields='all'(所有这些都是默认值如果您使用的是术语ID,那么您将获得它使用$ term-&gt; term_id)

如果你放fields='ids,你就可以直接向tax_query询问$ terms(如果需要,最终会使用array_shift)。