是什么阻止了我的HTML在我的模板部件中呈现?

时间:2021-08-19 作者:Optiq

我刚开始构建一个自定义主题,所以我只有一个header.phpfooter.php 文件
到目前为止,我在functions.php 该文件将我的css和js排入队列,所以我没有添加任何主题支持
到目前为止,我的文件如下所示:

header.php

<!doctype html>
<html>
<head>
    <meta charset="<?php bloginfo( \'charset\' ); ?>" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>

    <?php wp_body_open(); ?>
    
    
    <header class="testB">
        <p>header section</p>
    </header>

footer.php

    <footer>
        <p>footer</p>
        
    </footer>

    <?php wp_footer(); ?>
</body>
</html>

index.php

<?php get_header(); ?>

<p class="test">body</p>

<?php get_footer(); ?>

到目前为止,唯一显示的标记是<p>body</p>index.php 文件
我研究了twentytwentyone主题的代码,没有看到任何能够使标记能够呈现的东西
除了页眉和页脚之外,我还没有创建任何其他模板部件
唯一不同的是,我没有将页眉和页脚放在根目录中,而是将它们放在一个名为framework 和各自的文件夹中
例如,从根目录到标头的路径是framework/header/header.php.

是否有WP标准规定必须在根目录中?

我来自一个有棱角的背景,所以我更喜欢将每一小块代码排序到它们自己的文件夹和子文件夹中
你们谁能看出我做错了什么?

1 个回复
SO网友:farhangQ

get_header() 将加载wp-content/themes/YOUR-THEME/header.php 默认情况下
如果要获取其他php文件,请使用

<?php require_once \'framework/header/header.php\'; ?>
其他方式是使用get_template_part

然后在任何需要的地方使用以下代码

<?= get_template_part(\'framework/header/header\') ?>