0

我有很多类别,但为了清楚起见,我将仅举两个示例:

  • 包含许多帖子的新闻
  • 包含许多页面的产品(我已在 中添加了此功能functions.php

我想要archive.php显示:

  • 用户选择新闻类别时的帖子
  • 用户选择产品类别时的页面

目前,默认的 Wordpress 仅显示帖子而不显示页面。

我知道这可以通过添加一个简单的函数来实现,functions.php但我找不到它。

编辑:对于另一个具有自定义帖子类型“书籍”的项目,我使用了此代码

function query_post_type($query) {
    $post_types = get_post_types();

    if ( is_category() || is_tag()) {

        $post_type = get_query_var('books');

        if ( $post_type ) {
            $post_type = $post_type;
        } else {
            $post_type = $post_types;
        }

        $query->set( 'post_type', $post_type ); 


        return $query;
    }
}
add_filter('pre_get_posts', 'query_post_type');

我的情况有类似的情况吗?

4

1 回答 1

0

您可以在 WP Query 中单独查询页面。

PHP:

$args = array(
  'post_type' => 'page'
);

$query = new WP_Query( $args );

这将返回数据库中的所有页面,以及零个帖子。反之亦然,您可能必须'post_type' => 'post'查询所有帖子,但这是 WP 查询的默认行为。

有关这方面的更多文档,请查看 Wordpress Codex 中的WP Query参考。

于 2013-03-19T12:25:59.727 回答