将$_POST从页面模板提取到函数。php

时间:2016-04-05 作者:Log1x

WordPress加载页面模板和functions.php.

我有front-page.php 其中$_POST[\'sort-by\'] 允许用户使用下拉菜单对帖子进行排序。

它很简单,工作也很好。现在是我能够“加载更多帖子”的部分,它使用wp_ajaxwp_ajax_nopriv 和中的函数functions.php 以默认显示的帖子数量的偏移量获取其他帖子。我的AJAX查询工作正常,但我无法获取$_POST 数据来自front-page.php “”中的模板functions.php 对AJAX获取的帖子进行正确排序。

我想只要把我的$_POST \'内的值functions.php 因此,它将使用适当的排序+meta\\u键,但无论我做什么,包括尝试为$GLOBALS 包含$_POST, 我一辈子都不能让它得到设定的价值观front-page.php 在里面functions.php 所以它会在调用时正确排序wp_ajaxwp_ajax_nopriv.

我想这和functions.php 正在加载之前front-page.php 在“WordPress”中。我不确定是否有add_action(); 某种程度上,这将允许我在这里解决我的问题,或者我应该如何让它按预期工作。我知道这是可能的。

编辑:这是我想要得到的函数$_POST 的数据来自我的页面模板frontpage.php

2 个回复
最合适的回答,由SO网友:Log1x 整理而成

我已经知道怎么做了。这有点接近安基蒂瓦里的建议,但他没有给出一些关键细节。

当您在下面传递变量时data 在ajax调用中,它会自动使$_POST 假设您正在呼叫请求method: \'post\' 所以我照安基蒂瓦里说的做了<input type="hidden" value="<?= $_POST[\'variable\']?>" id="post-variable"> 然后将其放入一个变量中,例如var myValue = $(\'#post-variable\').val(); 然后在\'action\'\'sort\': myValue 然后在我的wp_ajax 调用的函数$_POST[\'sort\'].

希望这能帮助将来在尝试对ajax帖子进行排序时遇到类似问题的人。

SO网友:ankittiwaari

将您的$\\u POST变量的值分配给首页中的html元素或javascript变量。类似php

//html元素

<input type="hidden" value="<?= $_POST[\'variable\']?>" id="post-variable">
或在javascript变量中

var postVariable = "<?= $_POST[\'variable\']?>";
现在在ajax调用中,您可以得到如下值

var myValue = jQuery(\'#post-variable\').val(); //if you set value to html element

var myValue = postVariable; //if you set the value in javascript variable.

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i