当前位置: 首页 > 知识库问答 >
问题:

自定义过滤器的WordPress循环与多个文章类型

屠盛
2023-03-14

我正在建立一个WordPress网站,在那里我想在博客索引中显示一些页面和帖子。棘手的条件是,WP_Query应该返回所有的“post”,但当涉及到“pages”时,它应该只获取特定父id的页面,比如父id为1、2、3等等。

我想知道,在保留WordPress循环和函数(如have_posts())以及分页函数(如previous_posts_link()等)的同时,是否可以在一个WP_Query中实现这一点。这是否可行?有人能给我指出正确的方向吗?请让我知道,如果需要更多的信息是从我这边来的,或者如果有什么是不清楚的。

谢谢

共有1个答案

严琨
2023-03-14

通过使用plugin-wp组合查询进行更多的研究,找到了解决方案

示例代码如下

//------------------------
// Children pages query #1
//------------------------
$pages = [
    'post_type'      => 'page',
    'post_parent__in' => [
        1944,1962,1343,1377,909,952 // Post id's of parents
     ],
    'posts_per_page' => -1
];

//-------------------
// All Posts Query #2
//-------------------
$posts = [
   'post_type'      => 'post',
   'posts_per_page' => -1
];

//---------------------------
// Combined queries #1 + #2:
//---------------------------
$args = [
    'paged'               => get_query_var( 'paged', 1 ),
    'combined_query' => [        
        'args'   => [ $pages, $posts ],
        'union'  => 'UNION',
    ]
];

//---------
// Output:
//---------
$posts_to_display = new WP_Query( $args );
 类似资料:
  • 我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。

  • 我正在构建一个WordPress主题,其中的博客文章是使用一个自定义的文章类型标题为“博客” 博客页面位于http://website.com/blog/上,当发布“blogs”类型的文章时,它只发布到/blog/page上。我的问题是,当我单击一个博客标题来查看单个博客时,URL被重定向到http://website.com/post-title,而不是http://website.com/bl

  • 依赖项:Spring Boot 1.1.5。释放,Spring4.0.6。Spring安全释放装置3.2.4。释放 问题:我正在创建一个自定义过滤器,该过滤器基于请求中的令牌查询提供者以验证用户。这里有自定义筛选器代码和配置。正如你所看到的,我已经尽可能地禁用了以查明问题。启用调试显示 另一件事是日志告诉我用户已通过身份验证。 当查询应用程序时,会发生无限循环并最终返回请求,curl说它无法遵循那

  • 因此,我一直在努力研究如何构建一种方法,使用用户输入过滤大量wordpress帖子。我不太确定我是否理解如何让它发挥作用。我会简单地解释我目前所知道的,也许有人能给我指出正确的方向。 所以我知道我可以使用wp_query($args)函数来查询我的数据库,并将我想要的过滤参数传递给它,以获得我想要的结果。现在,因为它必须由用户完成,我想我可以添加一个html表单,这样做 然后我写了如下的php代码

  • 演示在网关追加一个header public class CustomFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { // 演示在网关追加heade

  • SOFARPC 提供了一套良好的可扩展性机制,为各个模块提供 SPI 的能力。 SOFARPC 对请求与响应的过滤链处理方式是通过多个过滤器 Filter 来进行具体的拦截处理,该部分可由用户自定义 Filter 扩展,自定义 Filter 的执行顺序在内置 Filter 之后。具体方式如下: Bolt Filter 新建自定义 Filter 。 public class CustomFilter