发布自定义查询存档的URL

时间:2018-03-08 作者:aswinshenoy

我有一个CPT的自定义查询,可以从中获得一个postid数组。我需要一个指向CPT存档的url,该存档包含查询结果(即显示数组中postid的帖子)

  • 此url需要作为href值放入按钮中
  • 1 个回复
    SO网友:aswinshenoy

    回答我自己的问题似乎很奇怪,但我是如何做到这一点的-

    function filter_posts_by_id($query) {
      if ( !is_admin() && is_post_type_archive(\'CPT_NAME\') && $query->is_main_query()) {
        $post_ids = $_GET[\'post_ids\'];
        if(!empty($post_ids)) {
            $pids = explode(\',\',$_GET[\'post_ids\']);
            $query->set(\'post__in\', $pids); 
        }
      }
    }
    add_action(\'pre_get_posts\', \'filter_posts_by_id\');
    
    PHP的预定义变量$\\u GET[\'parameter\']用于获取查询字符串
  • PHP的explode()用于将逗号分隔的查询字符串转换为post id数组
  • Wordpress WP\\u查询函数$query->set(\'parameter\',$value)),用于使用post id过滤器设置WP查询
  • 将函数添加到函数中。php的主题,并与pre\\u get\\u posts挂钩,以便该函数在查询之前运行
  • 另外设置的是\\u post\\u type\\u archive(\'post\\u type\\u name\'),专门针对我的CPT,希望它能帮助其他陷入困境的人!这是我第一次处理查询,所以代码可能不是最好的。

  • 结束