【问题标题】:Properly query additional posts for wordpress category正确查询 wordpress 类别的附加帖子
【发布时间】:2018-07-22 21:19:39
【问题描述】:

我的情况是:我有一个类别和一些单独定义的帖子列表,始终显示在类别页面的顶部。实际或默认帖子将在第 2 页后面显示,或通过 ajax 显示。 通过简单地创建一个新的 WP_Query,这个问题就解决了,但是 wordpress 在此之前实际上在主查询中执行了整个不必要的过程,这应该只在用户请求第 2 页或通过 ajax 时才会发生。 我使用钩子“pre_get_posts”来更改主查询本身,但只能按类别显示这些帖子,而不是通过定义帖子列表。

【问题讨论】:

    标签: wordpress wordpress-hook


    【解决方案1】:

    您的实现可能很混乱...您可以发布您编写的代码并描述您添加它的位置吗?

    快速提问:您是否尝试过创建返回所需帖子的简码?然后,您可以使用 [your-shortcode] 在后端内部使用短代码,还是使用 do_shortcode( 'your-shortcode' ) 使用您的代码?

    【讨论】:

      【解决方案2】:

      实际上这是一个错误测试,这是我的代码并且它有效:

      function rewrite_main_query ($query ){
       if( $query->is_main_query() &&   $query->is_category){
           global $wp_query; 
           $postid=37; //the post id wanted
           $query->set('p',$postid);
       }  
      }
      add_action('pre_get_posts', 'rewrite_main_query');
      

      以前我改用“post__in”但不起作用,我认为它们对“post__in”和“p”的功能相同,但没有对其进行测试。它现在可以与“p”一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-02
        • 2021-06-07
        • 1970-01-01
        相关资源
        最近更新 更多