问题描述

我正在尝试查询’quote.’ 的帖子格式的所有帖子我已经将发布格式添加到我的 functions.php 与

add_theme_support( 'post-formats', array( 'image', 'video', 'gallery', 'quote' ) );

我在管理员中选择了’quote’ 作为帖子的格式。 Taxonomy_Parameters 中的最后一个示例显示了如何显示具有’quote’ 格式的帖子,但是当我在主题中运行它时,不会返回任何帖子。这是代码:

$args = array(
  'tax_query' => array(
    array(
      'taxonomy' => 'post-format',
      'field' => 'slug',
      'terms' => 'post-format-quote'
    )
  )
);
query_posts( $args );

当我只是查询所有帖子和地点

echo get_post_format();

在循环中,它返回 front-end 上的单词’quote’ 。另外,当 I var_dump() 的查询我没有看到有关 post 格式的数组中的任何东西。

有谁知道是否可以通过邮寄格式查询?如果是这样的话

编辑 – 请参阅 Bainternet 的答案下的 5 条评论:这是在一个新的安装的二十世纪主题的 index.php 上找到的代码,试图返回格式类型引号。我返回’no’ 而不是’quote’ 。你能看到我应该改变的东西吗?

get_header(); ?>
<div id="container">
  <div id="content" role="main">
    <?php $args = array(
      'tax_query' => array(
        array(
          'taxonomy' => 'post-format',
          'field' => 'slug',
          'terms' => array('quote')
        )
      )
    );
    query_posts( $args );
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      echo get_post_format();
    endwhile; else:
      echo 'no';
    endif;
    wp_reset_query();
    ?>
  </div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

编辑 2 – 似乎 WordPress Codex 现在已经更改,分类参数部分仅在 Google 缓存中找到。

编辑 3 – 最终工作代码

$args = array(
  'tax_query' => array(
    array(
      'taxonomy' => 'post_format',
      'field' => 'slug',
      'terms' => 'post-format-quote'
    )
  )
);
query_posts( $args );

twenty-ten 编辑形式的第一个编辑将是…

get_header(); ?>
<div id="container">
  <div id="content" role="main">
    <?php $args = array(
      'tax_query' => array(
        array(
          'taxonomy' => 'post_format',
          'field'    => 'slug',
          'terms'    => 'post-format-quote'
        )
      )
    );
    query_posts( $args );
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      the_title();
      echo get_post_format();
      echo '<br />';
    endwhile; else:
      echo 'no';
    endif;
    wp_reset_query();
    ?>
  </div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

最佳解决方案

这段代码不正确!你有

'taxonomy' => 'post-format'

但它真的需要:

'taxonomy' => 'post_format'

没有下划线,查询将无效。拉我的头发几个小时后,我刚刚在我的 WordPress 3.1 安装上测试了这个。

希望有帮助!

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。