我正试图在一个(非常)自定义的URL下显示一个我选择的模板中的帖子。在这个例子中,我的帖子ID是1008,我的模板名是“/单曲/演讲”。php’。
Im未来将检查URL,并在执行操作时添加条件-现在对于测试,条件只是if (1)
- 对于测试,它适用于所有URL。
当我输入自定义URL时,将检索并显示模板,没有任何问题,但数据有问题。
在我检查$post变量时,函数中有一些默认值$post
object assigned-假设其ID==488,所以我试图让Wordpress使用我需要的帖子,所以我get_post()
以及setup_postdata()
分配路线codex 说应该行,但不行。
我的/singles/lecture.php
返回初始“默认”帖子(即488)的数据。
add_filter(\'template_include\', \'my_custom_urls\');
function my_custom_urls($original_template) {
global $post;
if (1) {
// second correct but not working alternative
// $post = get_post(1008);
// setup_postdata($post);
$post_object = get_post(1008);
setup_postdata($GLOBALS[\'post\'] =& $post_object);
return get_template_directory() . \'/singles/lecture.php\';
} else {
return $original_template;
}
}
我做错了什么?如何以这种方式设置$post变量,使其可用于我的模板。