使用get_template_part()加载自定义页面

时间:2016-06-09 21:19:53

标签: php wordpress custom-wordpress-pages

我遇到了这个函数get_template_part,通过与其他人讨论为什么在前端页面上加载自定义页面很容易,他告诉我get_template_part,我认为它对于重用代码非常棒。但是他用它来加载我在页面上的所有自定义页面,但是当我查看网站时,一些内容会加载,而有些内容则不会在网站上加载截图。

enter image description here

    <?php
/**
 * Template Name: Front-Page
 */

get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

            <?php while (have_posts()) : the_post(); ?>
                <?php get_template_part('templates/header'); ?>
                <?php get_template_part('templates/page-about'); ?>
                <?php get_template_part('templates/page-services'); ?>
                <?php get_template_part('templates/page-photography'); ?>
                <?php get_template_part('templates/page-portfolio'); ?>
                <?php get_template_part('templates/page-contact'); ?>
                <?php get_template_part('templates/footer'); ?>
            <?php endwhile; ?>

    </main><!-- #main -->
</div><!-- #primary -->

2 个答案:

答案 0 :(得分:0)

问题很可能出在模板文件本身,缺少模板文件,或者文件名与函数调用不匹配。例如,显示您的“关于此页面代码”页面

<?php get_template_part('templates/page-about'); ?>

意味着您的主题文件夹中应该有一个名为“templates”的目录,以及该目录中名为page-about.php的文件。如果您的所有文件都存在且名称正确,则需要查看模板文件并检查其中的代码

答案 1 :(得分:0)

根据您在Linkedin上发布的其他信息,该网站是一个单页网站,您的问题很可能是因为您使用了错误的文件来加载主页。

要解决此问题,请在主题文件夹中执行以下操作:

  1. 创建名为&#34; home.php&#34;
  2. 的文件
  3. 移动&#34; page-home.php&#34;的内容到&#34; home.php&#34;
  4. 删除while循环,以便home.php如下所示:
  5. &#13;
    &#13;
    <?php get_header(); ?>
    
    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
          
          <?php get_template_part('templates/header'); ?>
          <?php get_template_part('templates/page-about'); ?>
          <?php get_template_part('templates/page-services'); ?>
          <?php get_template_part('templates/page-photography'); ?>
          <?php get_template_part('templates/page-portfolio'); ?>
          <?php get_template_part('templates/page-contact'); ?>
          <?php get_template_part('templates/footer'); ?>
    
        </main><!-- #main -->
    </div><!-- #primary -->
    
    <?php get_footer(); ?>
    &#13;
    &#13;
    &#13;