我有一页写着鼻涕虫blog
. 我的网站。com/blog从模板文件页面blog正确呈现。php。但是,它不会从我的主题中执行以is_page(\'blog\')
, 管理栏中也没有“编辑页面”链接。
我还有一个自定义帖子类型,名为blog
, 但此页不执行的代码is_post_type_archive(\'blog\')
任何一个在管理栏中,没有“编辑类别”链接或“编辑[任何其他内容]”。
这是我加载页面时WP调试插件给我的信息:
Request:
blog
Query String:
pagename=blog
Matched Rewrite Rule:
(blog)(/[0-9]+)?/?$
Matched Rewrite Query:
pagename=blog&page=
有什么问题吗?
最合适的回答,由SO网友:supertrue 整理而成
问题是由于在该循环之前的页面中有一个二次循环,页面知道这是一个页面;但是在循环之后(在页脚中,管理栏和我的代码将在那里呈现),页面认为这是第二个循环的最后一篇文章。
wp\\u reset\\u query()和wp\\u reset\\u postdata()均不起作用;我猜这与我使用$wp\\u query作为二级循环的名称有关(这样我就可以使用loop.php模板文件来显示帖子)。以下是有效的代码:
$temp_query = clone $wp_query;
$wp_query = new WP_Query( \'post_type=publication&posts_per_page=5\' );
get_template_part( \'loop\' );
/* get_template_part( \'loop\' ) only seems to work if the query is in $wp_query */
$wp_query = clone $temp_query; ?>
以下是codex中克隆$wp\\u查询技术的链接:
http://codex.wordpress.org/The_Loop#Multiple_Loops_Example_2