Wordpress 在从 url 获取参数的页面加载上使用 ajax
Posted
技术标签:
【中文标题】Wordpress 在从 url 获取参数的页面加载上使用 ajax【英文标题】:Wordpress use ajax on page load from url get parameters 【发布时间】:2019-04-27 16:51:39 【问题描述】:所以我正在网站上建立一个搜索,主要搜索表单在主页上,用户可以在其中输入信息的喜欢、兴趣、书籍、电影。
并且该表单应提交到将显示搜索的另一个页面。 所以它与任何其他搜索类似,但在搜索页面上,我应该在 url 中保留参数,所以它不会是 POST,而是 GET。
主页类似于mywebsite.com
当提交表单时,它会使用 GET 参数发布,因此用户可以将搜索结果保存在他的 url 中。提交的帖子应该导致类似的内容。
mywebsite.com/search?interests=sports&books=harry+potter&movies=moviename
因为搜索和加载结果可能需要一些时间,所以我想加载页面,而不是在 ajax 响应后执行 ajax 发布来搜索功能并填充搜索结果。
我已经内置了一些 ajax 内容加载以及使用 ajax 发布和加载数据,但所有这些都保持在同一页面上,当您在 wordpress 中将内容从一个页面提交到另一个页面时,我从未构建过。
有什么建议我可以如何做到这一点并让 ajax 抓取内容?
【问题讨论】:
一旦你有 GET 参数,你就可以在钩子 "wp_footer" 中运行你的 ajax。 【参考方案1】:我找到了答案,其实很简单,而是用函数触发ajax,比如点击按钮的函数。
只需在页面加载时触发 ajax,不要将脚本排入除该页面之外的任何其他位置,这会有所帮助。
if ( is_page_template('template-search.php') )
wp_enqueue_script('ajax_search');
这将确保脚本仅在该模板页面上加载,至于脚本本身,只需在页面准备好加载 ajax:
jQuery(document).ready(function($)
jQuery.ajax(
dataType: 'json',
url: search_flight.ajaxurl,
data:
action: 'search_flight',
,
beforeSend: function()
,
success: function(data)
console.log(data);
,
error: function()
);
);
【讨论】:
以上是关于Wordpress 在从 url 获取参数的页面加载上使用 ajax的主要内容,如果未能解决你的问题,请参考以下文章
如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url