自定义帖子类型自定义查询-显示所有帖子

时间:2012-09-20 作者:JorgeLuisBorges

我有一个分类归档来显示自定义帖子类型,它有一个调用帖子的自定义查询,我不知道在其中放置ShowPost的位置。

global $wp_query; 
    $term = get_term_by( \'slug\', get_query_var($wp_query->query_vars[\'taxonomy\']), 

    $wp_query->query_vars[\'taxonomy\']); 
    if (have_posts()) : while (have_posts()) : the_post(); ?> 
如果有人想知道我是否尝试过使用新的或标准的查询,但它似乎破坏了woocommerce的一些功能。

所以基本上我想修改上面的查询来显示所有帖子。。。

有什么想法吗?谢谢

1 个回复
SO网友:Milo

此代码:

$term = get_term_by( \'slug\', get_query_var($wp_query->query_vars[\'taxonomy\']), $wp_query->query_vars[\'taxonomy\']); 
。。。只获取当前查询的术语的术语数据,它不会以任何方式更改查询。

要更改分类术语归档的查询,请使用pre_get_posts 行动更改模板中的查询只会创建一个新查询,覆盖原始查询,因为所有页面的主查询都是在加载模板之前进行的。此代码将放在您的主题中functions.php 或自定义插件:

function wpa_alter_taxonomy_query( $query ) {
    if ( is_tax( \'your-taxonomy\' ) && is_main_query() )
        $query->set( \'posts_per_page\', -1 );
}
add_action( \'pre_get_posts\', \'wpa_alter_taxonomy_query\' );
只要换一下\'your-taxonomy\' 到您的分类名称。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post