2017-07-27 145 views
1

我做了一个WordPress的电影网站提前搜索,但我有一个搜索提交的麻烦。 我不使用HTML表单只是使用jQuery获取输入元素的值。 我的搜索参数是category_name和一些自定义字段,如(流派,比率)和更多... 现在我想提交我的搜索使用jquery或使用GET或POST方法发送索引页和php $ _GET提交搜索.. 请帮帮我!我不想重写我的帖子循环像这个教程: https://www.advancedcustomfields.com/resources/query-posts-custom-fields/wordpress自定义字段搜索

只是想过滤我的帖子。 我是让所有用户输入的过滤jQuery中:

$("#tw-search-button").click(function() { 
    var url = $("#tw-search-box").attr("data-search-url"); 
    var tw_sort = $("#tw-search-sort").attr("data-value"); 
    var tw_genre = $("#tw-search-genre").attr("data-value"); 
    var tw_quality = $("#tw-search-quality").attr("data-value"); 
    var tw_country = $("#tw-search-country").attr("data-value"); 
    var tw_age = $("#tw-search-age").attr("data-value"); 
    var tw_lang = $("#tw-search-lang").attr("data-value"); 
    var tw_date = dateRange.noUiSlider.get(); 
    var tw_rate = rateRange.noUiSlider.get(); 
    var tw_persian_sound = $("#tw-search-psound").attr("data-checked"); 
    var tw_persian_sub = $("#tw-search-psub").attr("data-checked"); 
    var tw_s_persian_sound = $("#tw-search-spsound").attr("data-checked"); 
    var tw_special_s = $("#tw-search-ss").attr("data-checked"); 
    tw_sort = (tw_sort === "all") ? "" : tw_sort; 
    tw_genre = (tw_genre === "all") ? "" : tw_genre; 
    tw_quality = (tw_quality === "all") ? "" : tw_quality; 
    tw_country = (tw_country === "all") ? "" : tw_country; 
    tw_age = (tw_age === "all") ? "" : tw_age; 
    tw_lang = (tw_lang === "all") ? "" : tw_lang; 

    //alert(url + "?s=search+term&category_name=" + tw_genre); 
    //$(location).attr('href',url + "?category_name=" + tw_genre + "&movie_quality=" + tw_quality + "&movie_country=" + tw_country + "&movie_age=" + tw_age + "&movie_language=" + tw_lang); 
    //$(location).attr('href',url + "?category_name=" + tw_genre); 
}); 

例如tw_lang我有电影的语言(从自定义字段获得)。 现在我可以发送这个变量到网址获得像评论代码提交搜索? like:test.com/?category_name=aaa&movie_age=bbb 或我应该将这个值发送到一个PHP页面并提交? 请帮助我。谢谢...

+0

你将不得不自己写搜索。 WordPress不支持使用get参数进行这种搜索。 – shazyriver

+0

我该怎么办?发送教程请... –

+0

看到WP查询https://codex.wordpress.org/Class_Reference/WP_Query – shazyriver

回答

0

好吧,我张贴此作为anwer,因为我不认为评论应该这么长。你将不得不精确地遵循这些步骤。这将使您的搜索工作,你将不必重新加载页面。

  1. 获得在同一块所有值后获得与阿贾克斯点击所有值(你已经这样做在上面的代码)
  2. 发送POST调用(如您已commmented代码。)
  3. 写函数接收ajax调用。
  4. 通过函数中所有变量的验证和消毒
  5. 编写查询以提取结果。
  6. 发回结果。
  7. 将结果填充到您的页面中。

DONE

+0

在第2步:我的ajax函数必须发送到index.php页面?并在第3步写一个PHP函数,是吗?和'发回结果'可能解释更多? –

0

感谢shazyriver帮助。 我写了一个函数,获取搜索参数并返回到我的jquery函数,并将返回的数据插入索引页面而无需加载页面。 但我有一个大问题... 第一次页面加载时WP页面页面显示页面底部的页码,例如,如果我的搜索结果大于10 pagenavi必须显示我的搜索结果的页码,但它不会更改当我点击页面2,我的网站的第2页已打开... 我该怎么办? 谢谢...

+0

您在使用加载更多时不使用pagenavi。删除。 – shazyriver

+0

如何为此结果添加或加载更多? –

+0

转到您的主题search.php并编辑它。 – shazyriver