私はメタフィールド 'priority_priority'を作成して、訪問回数に基づいて投稿を並べ替えることができます。したがって、訪問者が投稿を訪問するたびに優先度変数が減少します。しかし、同じユーザーからの最初の訪問時に優先度を下げたいので、Cookieを使用していますが、優先度を働かせない次のコードは常に減少します。クッキーがワードプレスで動作しない
は常にNULLに
$post_id = get_the_ID();
$priority = get_post_meta($post_id,'priority_priority',true);
if($priority>1)
{
if(!isset($_COOKIE['visitor'.$post_id]))
{
$bool=setcookie('visitor'.$post_id,$post_id,DAY_IN_SECONDS,'/');
if(count($_COOKIE) > 0)
{
$priority = $priority-1;
update_post_meta($post_id,'priority_priority',$priority);
}
}
}
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main site-main--single" role="main">
<div>
test
<?php var_dump($_COOKIE['visitor'.$post_id]);?>
</div>
</main><!-- #main -->
</div><!-- #primary -->
このチェックのポイントは何ですか?if(count($ _ COOKIE)> 0) '?スクリプトのその時点で、 'isset($ _ COOKIE ['visitor'。$ post_id])'が偽であることを既に知っています – BeetleJuice
ええ、そこに置くことには何の意味もありません。私はそれを削除するのを忘れていました。私が推測する問題とは関係がありません。 –
あなたの 'setcookie'行から' $ bool'の値は何ですか? – BeetleJuice