如何根据wordpress中的页面ID设置cookie?
当前正在尝试让wordpress基于特定页面设置cookie 我可以从函数文件中设置一个常规cookie,并在如何根据wordpress中的页面ID设置cookie?,wordpress,Wordpress,当前正在尝试让wordpress基于特定页面设置cookie 我可以从函数文件中设置一个常规cookie,并在init钩子上调用add\u action() /* functions.php */ function setCookies(){ global $post; setcookie('test', 'it works'); var_dump($post->ID); } add_action( init, s
init
钩子上调用add\u action()
/* functions.php */
function setCookies(){
global $post;
setcookie('test', 'it works');
var_dump($post->ID);
}
add_action( init, setCookies(), 10);
变量转储正在返回NULL
是否有一个钩子可以及时执行以设置cookie,但足够晚才能从
global$post获取信息
直到您进入循环中,$post
变量才被设置。大多数主题在您到达那里时已经生成了输出,因此您将无法使用它来设置cookie
但是,在返回查询后,您应该能够钩住wp
操作,并使用自己的自定义循环设置cookie。试着这样做:
function setCookies() {
global $wp_query;
if ($wp_query->have_posts()) {
$post_id = $wp_query->current_post;
setcookie('post_id', $post_id);
}
$wp_query->rewind_posts();
return;
}
add_action( 'wp', 'setCookies', 10);
请参阅codex中的和。为什么需要倒带帖子?您将代码放在了哪里(文件)?在functions.php中,只做了一个编辑来表明这一点。