按自定义元过滤Archive.php

时间:2013-09-04 作者:Troy

我正在尝试按自定义元查询筛选存档页。

我试过使用query_posts($args) 在循环之前,但它不返回任何内容。有什么想法吗?

以下是我目前掌握的情况:

<?php 
        //$wolfName = $_GET[\'wolfName\'];
        $archiveArgs = array(
                        \'meta_key\'  => \'wolf\',
                        \'meta_value\'    => \'boltz\'
                        );
        query_posts($archiveArgs);
        ?>
        <?php if (have_posts()) : ?>
它不返回帖子。。。有什么想法吗?

2 个回复
最合适的回答,由SO网友:Faishal 整理而成

使用pre_get_posts 行动挂钩

function archive_meta_query( $query ) {
    if ( $query->is_archive){
      $query->query_vars["meta_key"] = \'wolf\';
      $query->query_vars["meta_value"] = \'boltz\';
    }
}
add_action( \'pre_get_posts\', \'archive_meta_query\', 1 );

SO网友:user2671457

感谢您的代码删除3R。。这对我帮助很大。。我终于得到了按自定义字段排序的工作。。。在函数中。php

function sort_meta_query( $query ) {
 if ( $query->is_archive || $query->is_category || $query->is_home ){
  $query->query_vars["meta_key"] = \'fastest_speed_experienced\';
  $query->query_vars["orderby"] = \'meta_value_num\';
 }
}
  add_action( \'pre_get_posts\', \'sort_meta_query\', 1 );

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W