短いストーリーですが、すでにクリックされた投稿をWordPressループに含めることを除外しようとしています。だから、クッキーに追加の値を格納するPHP
ユーザーがこのようなポストを訪れたとき、私はポストIDのに基づいてクッキーを設定しています:
$post_id = the_ID();
setcookie('post-id', serialize($post_id), time()+3600);
しかし、私は、このクッキーを取得し、私ができるようにそれに別のポストIDに追加するにはどうすればよいですワードプレスのループから除外するためにクッキーに格納されている投稿IDの配列を持っていますか?
私はデータをデシリアライズしてからCookieを設定し直してみましたが、私は正しい構文が得られていないと思います。
多くの援助が必要です。
UPDATE
は、ここに私のループの参照です:
$args = array (
'post_type' => 'post',
'post_status' => 'publish',
'orderby' => 'rand',
'date_query' => array('after' => $desktop_posts_after), // Show posts after certain date
'cat' => $cat_ID, // Show posts from same category as post
'post__not_in' => array($cookie_post_ids), // Hide current post from loop
'posts_per_page' => $desktop_posts, // Get number of posts to display for desktop
);
注:ACFからループ内のいくつかの変数がある見ることができ、これらは意図的なものであり、働いています。重要な部分は、"post__not_in" => array($cookie_post_ids)
という変数で、Cookieに格納されている投稿の投稿IDを入力しようとしています。
あなたがしようとしたものを示してください。私たちはあなたのためにコードを書いていません、あなたが書いたものを修正するのに役立つかもしれません。 –
あなたは値を直接シリアル化しています。新しい値をプッシュして値をシリアライズした後、まず空の配列を作成する必要があります。 –
ああ、それは理にかなっている@shashikant。私はもう少しそれを探検します。 – Christian