按自定义字段进行wordpress搜索

时间:2017-07-27 18:55:26

标签: php wordpress search

我为一个电影网站进行wordpress高级搜索,但我在搜索提交方面遇到了麻烦。 我不使用html表单只是用jquery获取输入元素的值。 我的搜索参数是category_name和一些自定义字段,如(流派,费率)等... 现在我想使用jquery提交我的搜索或使用GET或POST方法发送到索引页面并使用php $ _GET提交搜索... 请帮我!我不想像本教程那样重写我的post循环: https://www.advancedcustomfields.com/resources/query-posts-custom-fields/

只想过滤我的帖子。 我得到所有用户在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中我有电影语言(从自定义字段获取)。 现在我可以将这些变量发送到url,并使用类似注释的代码来提交搜索吗? 像:test.com/?category_name=aaa&movie_age=bbb  或者我应该将这些值发送到php页面并提交? 请帮我。感谢...

2 个答案:

答案 0 :(得分:0)

好吧,我发布这个作为anwer因为我不认为评论应该这么久。您必须准确地遵循这些步骤。这将使您的搜索工作,并且您不必重新加载页面。

  1. 点击获取所有值(您已在上面的代码中执行此操作)
  2. 在获取同一个区块中的所有值(您已经提交代码的地方)后,使用ajax发送post调用。
  3. 编写一个函数来接收ajax调用。
  4. 完成函数
  5. 中所有变量的验证和清理
  6. 撰写查询以获取结果。
  7. 发回结果。
  8. 在页面中填充结果。
  9. 完成

答案 1 :(得分:0)

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