WordPress元查询不起作用

时间:2019-10-18 作者:rehan ansari

 add_action( \'pre_get_posts\' , \'my_pre_get_posts\' );
    Function my_pre_get_posts( $query ) {
        $value= $_GET[\'s\'];
        if( $query->is_main_query() && $query->is_search()) {
            $query->set( 
              \'meta_query\',
              array( 
                array(
                  \'key\' => \'pdf_content\',
                  \'value\' => $value,
                  \'compare\' => \'LIKE\'
                )  
              ) 
            ); 
         }
    }
我没有从这个查询中得到任何结果,请帮助我?

WP\\U查询对象([查询]=>数组([s]=>构造[post\\u类型]=>iep\\u节)[查询变量]=>数组([s]=>构造[post\\u类型]=>iep\\u节[错误]=>[m]=>[p]=>0[post\\u父项]=>[子post]=>[附件]=>[附件id]=>[名称]=>[页面id]=>[第二页]=>[分钟]=>[小时]=>[附件id]=>[名称]=>[页面id]=>[第二页]=>[分钟]=>[小时]=>[小时]=>。>[日]=>0[月]=>0[年]=>0[宽]=>0[类别名称]=>[标记]=>[类别id]=>[作者]=>[作者姓名]=>[订阅]=>[tb]=>[分页]=>[元键]=>[元值]=>[预览]=>[句子]=>[标题]=>[字段]=>[嵌入]=>[类别中]=>[类别中]=>[类别中]=>数组()[类别中]=>[类别中]=>[类别和]=>数组()[后置u in]=>数组()[post\\uu not\\u in]=>数组()[post\\u name\\uu in]=>数组()[tag\\uu in]=>数组()【tag\\u not\\u in】=>数组()【tag\\u and】=>数组()【tag\\u slug\\u in】=>数组()【tag\\u slug\\u and】=>数组()【post\\u parent\\u in】=>数组()【post\\u parent\\u not\\u in】=>数组()【author\\u in】=>数组()【author\\u not\\u in】=>数组()【meta\\u查询】=>数组(【0】=>数组(【key】=>pdf\\u内容[比较]=>类似[值]=>构造[类型]=>字符])[税务查询]=>WP\\u Tax\\u查询对象([查询]=>数组()[关系]=>和[表别名:受保护]=>数组()[查询的\\u术语]=>数组()[主\\u表]=>[主\\u id\\u列]=>)[元\\u查询]=>[日期\\u查询]=>[post\\u计数]=>[当前\\u帖子]=>-1[在\\u循环中]=>[注释\\u计数]=>-0[当前\\u注释]=>-1[找到的帖子]=>0[最大\\u页数]=>。>0[最大\\u num\\u注释\\u页]=>0[单一]=>[is\\U预览][is\\U页面][is\\U存档][is\\U日期][is\\U年][is\\U月][is\\U日][is\\U时间][is\\U作者][is\\U类别][is\\U标签][is\\U税][is\\U搜索][is\\U源][is\\U评论\\U源][is\\U回溯][is\\U主页][is\\U隐私策略]=>[is\\U 404]=>[is\\U嵌入]=>[is\\U页面]=>[is\\U管理]=>[is\\U附件]=>[is\\U单数]=>[is\\U机器人]=>[is\\U贴子\\U页面]=>[is\\U post\\U type\\U存档]=>1[查询变量:WP\\u查询:专用]=>fbc82700aadf968ad3d001310266de18[查询变量更改:WP\\u查询:专用]=>[缩略图缓存]=>[停止字:WP\\u查询:专用]=>[兼容字段:WP\\u查询:专用]=>数组([0]=>查询变量:专用]=>[1]=>查询变量更改])[兼容方法:WP\\u查询:专用]]=>数组([0]=>init\\u query\\u标志[1]=>parse\\u tax\\u query))

2 个回复
SO网友:M-R

使用时LIKE 子句,您应该使用% 以使其与现有值匹配。因此,您的查询应该如下所示。

add_action( \'pre_get_posts\' , \'my_pre_get_posts\' );
function my_pre_get_posts( $query ) {
    $value= \'%\'.$_GET[\'s\'].\'%\';
    if( $query->is_main_query() && $query->is_search() ) {
        $query->set( 
          \'meta_query\',
          array( 
            array(
              \'key\' => \'pdf_content\',
              \'value\' => $value,
              \'compare\' => \'LIKE\'
            )  
          ) 
        ); 
     }
}

SO网友:rehan ansari

我通过在搜索查询中添加此代码修复了此问题

$args = array(
    \'post_type\'=> \'iep_section\',

    \'order\'    => \'ASC\',
    \'meta_query\' => array(
        array(
            \'key\' => \'pdf_content\',
            \'value\' => $value,

            \'compare\' => \'LIKE\'
        )
    )
);

query_posts( $args );

相关推荐