没有调用Page.php,则回退到index.php

时间:2015-03-22 作者:MisterBla

我正在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也很陌生,所以这也没什么帮助。

谁能告诉我为什么页面没有按我所希望的那样加载?

1 个回复
最合适的回答,由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() ?>

结束

相关推荐

Using categories with pages

我正在尝试使用页面类别(而不是帖子)作为筛选子页面的一种方式。我正在努力创建一个“工作”页面,其中列出了所有的子项,并且每个子项也将对其应用类别。另一个子菜单将允许您选择类别,并且仅列出这些子页面。迄今为止:functions.php - Show categories meta box for pagesfunction myplugin_settings() { register_taxonomy_for_object_type(\'category\', \'page\');