setup_postdata($post) 的作用把某个 post 声明成全局的 post, 这样可以方便的用 get_permalink() 等模板函数,在我做的项目中,发现这个函数不起作用:
不知到我的用法是不是不对。通过对函数的查看,我找到了临时的解决办法:
问题出在setup_postdata() 并没有对 $GLOBALS['post']赋值,所以我不知道是用法不对还是其他的问题。有明白的大佬帮忙解释一下,谢谢。
setup_postdata($item);
var_dump(get_the_ID());// 这里是null或者是其他的id
不知到我的用法是不是不对。通过对函数的查看,我找到了临时的解决办法:
$globalpost = $GLOBALS['post'];
$GLOBALS['post'] = $item;
setup_postdata($item);
var_dump(get_the_ID());//这里就正常输出了。
$GLOBALS['post'] = $globalpost;
问题出在setup_postdata() 并没有对 $GLOBALS['post']赋值,所以我不知道是用法不对还是其他的问题。有明白的大佬帮忙解释一下,谢谢。