使用ajax在wordpress循环之外检索查询.加载#content



我正在wordpress上进行基于自定义分类法的高级搜索。我被困了48小时,所以我希望有一些帮助或想法…

第一步——在js文件中,查询字符串是这样创建的:

if (jQuery('#s').val() == ''){
URL = "/?genre=" + genre + '...other Stuff' #content';
}else{
URL = "/?s="+searchQueryString+"&genre=" + genre +'...other stuff' #content';
}

它很好地加载我的自定义循环在我的#contentdiv不改变浏览器url或重新加载头,这是相当不错的…到目前为止。: -)

步骤2——然后我在我的function.php中写了两个函数,一个是用GET[]元素在主页上加载循环,使用new WP_Query还有一个对搜索查询做同样的事情:

add_action('pre_get_posts','SearchFilter');

用content.php中的GET[s]编译我的GET[]过滤器,仍然很好....

步骤3—(问题^^)—

我想添加一个css类来取消激活位于header.php中的单选按钮,这取决于循环中的结果。

Try-1我想我可以创建一个php数组来编译在循环发生时发现的术语,然后将其与我的按钮值进行比较。像这样:

$args = array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'slugs');
$results = wp_get_post_terms(get_the_ID(),'category',$args);  
foreach ($results as $result){
    array_push($stack, $result);
}

但是之后没有办法从标题中的数组中检索数据,或者使用global $post;之类的东西从标题中创建它,因为我的url没有改变。它只显示主页查询。

Try-2我还认为我可以将其编码为json,然后在我的js文件中放入一些操作。但到目前为止,它只是返回json的意外字符,我有一种感觉,即使我破解它,它不会是正确的方式,因为它会使js文件更重。

可能是我只是错过了一些关于全局wp_query,我不需要收取我的脚本?

请原谅我的英语和长问题,

如果你有想法,请提前感谢,

达可

我将使用wp_localize_script将数组导出到我的js脚本,由于排序