我收到一些变量并开始一个会话,因为如果页面刷新,我想保留这些值,所以我这样做:
session_start();
$myId = $_POST['varPostId'];
$parts = explode(',', $myId);
if(!isset($_SESSION["myId"])){
$_SESSION["myId"] = $parts;
}
然后我需要查询该数组:
query_posts(array(
'post__in' => $_SESSION["myId"]
));
这很好,它将posts
加载到ids
中,但是由于我也可以remove
加载其中的任何一个,因此我设置了一个form
并将其删除做一个POST
并更新custom field
,我这样做:
<form id="saveId<?php echo $numForms; ?>" action="" method="POST" class="removeids" autocomplete="off">
<input type="hidden" name="save_post_value" value="<?php foreach ($_SESSION["myId"] as &$value) { echo $value.", "; } ?>">
<button data-thisPostId="<?php echo $idThisPost; ?>" type="button" class="removeJiku btn btn-outline-secondary">Remove</button>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
if (isset($_POST['save_post_value'])) {
unset($_SESSION["myId"]);
update_user_meta( $user_id, 'save_post', $_SESSION["myId"] );
}
}
?>
但是我有两个问题:
unset($_SESSION["myId"]);
,但职位似乎有误,只有在我们remove
时才需要取消设置update_user_meta( $user_id, 'save_post', $_SESSION["myId"]
给出的是字符串Array
,而不是实际值。删除表单的输入值为ID
<input id="input_post_id" type="hidden" name="varPostId" value="94995,99559,95099">
然后我用jQuery
删除ID和输入更新
<input id="input_post_id" type="hidden" name="varPostId" value="94995,95099">
现在应该使用update_user_meta( $user_id, 'save_post', $_SESSION["myId"] );
将其保存在自定义字段中,但是由于它给出了Array
,因此它在寻找ids
时不会加载任何帖子。