php - Wordpress - 如果手动输入,数组不被视为数组
问题描述
我正在建立一个 Wordpress 网站来跟踪用户进度。我创建了一个名为的自定义用户文本字段completed_sections
,该字段存储用户已完成的网站部分的数组。我正在构建这样的数组:
<?php
if (is_user_logged_in()) {
global $completed;
$completed = get_field('completed_sections', 'user_'.$userID);
}
function update_completed_sections() {
global $completed;
global $userID;
$completedID = $_POST['quizID'];
$completionDate = $_POST['date'];
$completed_section[] = array(
'ID' => $completedID,
'date' => $completionDate
);
if (!empty($completed)) {
$combined = array_merge($completed, $completed_section);
} else {
$combined = $completed;
}
update_field('completed_sections', $combined, 'user_'.$userID);
}
add_action('wp_ajax_complete_section', 'update_completed_sections');
?>
只要我使用 AJAX 调用来触发该update_completed_sections
函数,它就可以正常工作。添加到自定义用户字段的数组如下所示:
[{"ID":"58","date":"07\/31\/20"},{"ID":"79","date":"08\/03\/20"}]
但是,如果我进入 Wordpress 后端的用户部分并手动尝试 tp update 数组,它会破坏它。即使我没有更改任何内容,我只是进去并点击“更新用户”,它也会导致 Wordpress 不再将该字段视为数组。关于如何确保此字段被视为数组的任何想法,即使它是通过Users
Wordpress 部分或通过 PHPMyAdmin 手动输入的?
解决方案
推荐阅读
- javascript - 如何减少从反应中导入
- python - mpld3.show 显示空白 html
- python - 以特定时间间隔重新采样 DataFrame
- python - 尝试使用 Python 查询 DeltaDNA 时“没有结果。以前的 SQL 不是查询”
- javascript - R:使用 doPostBack 脚本中的内容抓取 aspx
- eloquent - 如果主模型上存在列值或 Eloquent 中的关系,我如何选择一行
- batch-file - 将批处理 If/ELSE 语句分成多行 - 难以阅读的代码
- reactjs - 如何设置状态,不断收到 TypeError: Cannot read property 'setState' of undefined
- javascript - 如何拆分 JSON 相似字符串并将其显示在 vue.js 上
- merge - 如何将单个数据集中的行与一些重复值合并?