get_template_part和get_footer的单页wordpress问题

Tie*_*ies 5 php wordpress

我想要做的是在wordpress中转换我的单页设计,我认为能够在分隔的页面中编辑,添加和修改页面的不同部分会很好.单页网站将通过菜单(ID为main)进行订购.

在我使用的wp-codex之后get_template_part,它应该正常工作,因为它应该:

将模板部件加载到模板中(标题,侧边栏,页脚除外)

get_header被跳过但get_footer被驱逐并且网站呈现错误.


前page.php文件

$pages = wp_get_nav_menu_items('main');
global $post;
foreach ($pages as $post) {
    $post = get_post($post->object_id);
    if($post->post_type != "page") continue;
    setup_postdata( $post );
    $postName = (locate_template('page-' . $post->post_name . '.php') == '') ? null : $post->post_name;
    get_template_part('page', $postName);
}
wp_reset_postdata();
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?或者我做错了什么?完成此任务的最佳方法是什么?

Tie*_*ies 0

我最终将默认的 page.php 模板复制为page-page.php并按如下方式加载:

$postName = (locate_template('page-' . $post->post_name . '.php') == '') ? 'page' : $post->post_name;
Run Code Online (Sandbox Code Playgroud)

然后在page.php刚刚加载的page-page.php