我正在Wordpress 4.1中创建一个自定义主题。当尝试转到不是主页或公文包(有自定义页面)的页面时,应该加载页面。php。但我得到的是索引。
没有插件导致这方面的变化,因为我尝试禁用所有插件,然后重试。没有变化。
我的页面。php是一个非常简单的主题,以215主题为例:
<?php get_header() ?>
<?php
// Start the loop.
while ( have_posts() ) : the_post();
// Include the page content template.
get_template_part( \'content\', \'page\' );
// End the loop.
endwhile;
?>
<?php get_footer() ?>
我在需要放置的地方阅读
if(have_posts())
在循环之前,但是默认主题中没有,所以我不明白为什么我需要它。
我还从页面复制了代码。php转换为索引。php,它只显示标题。php和页脚。php页面。
我对Wordpress也很陌生,所以这也没什么帮助。
谁能告诉我为什么页面没有按我所希望的那样加载?
最合适的回答,由SO网友:jimihenrik 整理而成
如果你看看get_template_part 上面说<?php get_template_part( \'loop\', \'index\' ); ?>
将对其中存在的第一个文件执行PHP require(),优先级如下:
wp内容/主题/第二十个孩子/循环索引。php内容/主题/二十个/循环索引。php内容/主题/第二十个孩子/循环。php内容/主题/二十个/循环。php,因此您的代码将默认为内容。php,而不是页面。php。
<小时><?php get_template_part(\'page\') ?>
应该只加载部分命名页。php和不应该太慢。
但关键是,如果没有为“基本”页面使用自定义模板,则不应该在页面内部使用get\\u template\\u部分。php。那一页。当它是任何一个没有分配模板的页面时,就会调用php-get。
因此,请尝试创建您的页面。像这样的php
<?php get_header() ?>
<?php
// Start the loop.
while ( have_posts() ) : the_post();
// Include the page content.
the_content();
// End the loop.
endwhile;
?>
<?php get_footer() ?>