Wordpress - 仅显示具有特定slug的帖子

时间:2014-04-24 12:53:30

标签: php wordpress custom-post-type

我确信这将是一个愚蠢的问题......但现在就这样了。

我目前有一个页面只显示自定义帖子类型(汽车)的帖子。 我这样做是通过运行查询

$args = array(
    'post_type' => 'car');
$query = new WP_Query( $args );

On to the loop...

对于此自定义帖子类型,我有一个自定义分类法,例如斯巴鲁,本田等...... 我只是想尝试别的东西,但如果我只想展示Subaru的帖子,我该如何查询呢?

我想我想查询'slug'(subaru),这段代码不起作用,但你可以看到我正在前进的路线......

$args = array(
    'name' => 'subaru',
    'post_type' => 'car');
$query = new WP_Query( $args );

On to the loop...

我知道name不对。添加到$args数组的正确术语是什么?

非常感谢

3 个答案:

答案 0 :(得分:0)

取决于您的分类标准。在我的例子中,它被称为'品牌':

$args = array(
    'post_type' => 'car',
    'brand' => 'subaru'
    );
$query = new WP_Query( $args );

请参阅http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

答案 1 :(得分:0)

您尝试做的是分类查询。我可以告诉你该怎么做但我认为重要的是我先指出一个更大的错误。你不应该在页面上查询它。

档案的目的是什么。

创建一个名为archive-car.php的模板文件,然后在那里输出。这消除了运行自定义WP查询的需要。

然后创建另一个文件分类 - {your-custom-taxonomy-name} .php

在那里输出汽车,你的问题就解决了,而不会增加任何低效的查询。

答案 2 :(得分:0)

我认为您需要使用get_terms()

 $terms = get_terms("Subaru");
 if ( !empty( $terms ) && !is_wp_error( $terms ) ){
     echo "<ul>";
     foreach ( $terms as $term ) {
       echo "<li>" . $term->name . "</li>";

     }
     echo "</ul>";
 }

请参阅此http://codex.wordpress.org/Function_Reference/get_terms