将数组从页面模板传递到WordPress主题文件夹中的另一个php文件
Passing an array from a page template to another php file in theme folder in WordPress
我有一个front-page.php模板,它列出了5个最新的帖子以及其间的一些自定义帖子类型。当点击底部的more按钮时,它需要ajax加载更多的帖子。
因此,我根据本教程创建了一个loop-home.php文件默认情况下,我不能使用这段代码,因为我在主页的第一次加载中有一个嵌套循环,而这个脚本把它搞砸了。
所以我只对ajax OLDER帖子写了一个新的查询。我收集了页面加载时已经存在的帖子的帖子ID,并将其存储在一个数组中。
我现在需要在loop-home.php的查询中使用这个数组我使用这个方法是因为偏移量不适用于分页,并且我需要将这些ID传递给查询中的post__not_in参数。
方法1:我尝试过(in loop home.php)
$exempt = $_REQUEST['exemptArray'];
但它返回NULL。
方法2:(使用Ajax)
我尝试过(在首页.php)-
<script>
var exemptArray = '<?php echo json_encode($exemptions); ?>';
</script>
然后我转到script.js并添加-//从var数组创建json对象
var jsonArray = JSON.stringify(exemptArray);
var dataToPost = { 'jsonArray':jsonArray };
//send POST data to PHP and handle response
$.ajax({
type: 'POST',
url: loopHome, //stored path in variable. working.
data: dataToPost,
success: function (data) {
console.log('I have already sent it.'); //I am getting this log. Working.
}
});
然后在loop-home.php-中
$exempt = json_decode($_POST['jsonArray']);
var_dump($exempt)上仍为NULL
我做错了什么?
试试这个
你JS:
$.ajax({
type:'POST',
url:'foo.php',
data:{myArr:exemptArray},
dataType:'JSON',
success:function(result){
console.log(result);
},
error:function(data){
console.log(JSON.stringify(result));
}
});
您的php页面:
$input=$_POST['myArr'];
$exempt=json_encode($input);
在控制台中,您将获得一个数组。[对象对象]是对关联数组的引用。因此,在上面的代码中,结果与exemptArray相同。尝试这样的方法你就可以了。我在任何地方都找不到你的数组组成,所以我使用了exemptaray本身。
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- 展开和折叠文件夹
- 在ng重复循环中显示来自不同文件夹的图像
- 如何将所有JS文件连接到一个文件夹中
- 是否可以用JavaScript显示等效的文件夹对话框
- grunt上的压缩文件夹不起作用
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- 将Windows文件路径组织到文件夹中
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- 在更改名称时,使用ajax jsp在下拉菜单中填充多个文件夹的数据
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- 如何将JS文件从其他文件夹链接到页面
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- 如何使用javascript创建新的文件夹/文件
- S3 循环访问存储桶/文件夹/文件
- 如何从javascript工作在c# .aspx文件,指向正确的文件夹/文件与href和src
- 上传文件夹&文件
- 使用Javascript返回文件夹+文件
- 获取当前目录中文件夹/文件的列表