我正在基于自定义分类法对 wordpress 进行高级搜索。我自 48 小时以来就被困住了,所以我希望能得到一些帮助或想法......
第 1 步--- 在 js 文件中,查询字符串的创建方式如下:
if (jQuery('#s').val() == ''){
URL = "/?genre=" + genre + '...other Stuff' #content';
}else{
URL = "/?s="+searchQueryString+"&genre=" + genre +'...other stuff' #content';
}
它很好地将我的自定义循环加载到我的#content div 中,而无需更改浏览器 url 或重新加载标题,这非常好......到目前为止。:-)
第 2 步--- 然后我在 function.php 中编写了 2 个函数,一个用于在主页上加载带有 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 文件更重。
可能是我只是错过了有关 Global wp_query 的一些东西,而我不需要为我的脚本收费?
原谅我的英语和长长的问题,
如果您有任何想法,请提前非常感谢,
达科