0

我需要其他人提供一些严肃的 Wordpress 专业知识。我正在构建自定义主题,阅读了该get_template_part()方法并决定这将有助于清理和组织我的代码。我更新了我的主题以在几个地方使用这种方法,现在该网站完全崩溃了......不会加载任何东西!:(非常感谢任何帮助!我将复制并粘贴下面的一些 php 文件。也许有更多使用此方法经验的人可以指出问题。谢谢!

页面.php

<?php get_header(); ?>
    <div id="content" class="content">
        <?php while ( have_posts() ) : the_post(); ?>

            <!-- About page -->
            <?php if (is_page('about')) ?>
            <?php get_template_part( 'page', 'about' ); ?>

            <!-- Media & Gallery page -->
            <?php if (is_page('media-gallery')) ?>
            <?php get_template_part( 'page', 'mediagallery' ); ?>

        <?php endwhile; // end of the loop. ?>
    </div> <!--/end content -->
<?php get_footer(); ?>

page-about.php

<div id="about">
    <div class="text">
        <h2 class="about"><?php echo get_the_title(); ?></h2>
        <?php the_content(); ?>
    </div>
</div>

page-mediagallery.php

<div id="pic-gallery">
    <?php include_once 'includes/pwaplusphp/albums.php'; ?>
</div>

索引.php

<?php get_header(); ?>
    <div class="content">
        <?php if ( have_posts() ) : ?>
            <?php while ( have_posts() ) : the_post(); ?>
            
                <?php get_template_part( 'content', get_post_format() ); ?>

                <br class="clr"/>
            <?php endwhile; ?>

            <?php content_nav( 'nav-below' ); ?>

        <?php else : ?>

            <article id="post-0" class="post no-results not-found">
                <header class="entry-header">
                    <h3 class="blog"><?php _e( 'Nothing Found' ); ?></h3>
                </header> <!-- .entry-header -->

                <div class="entry-content">
                    <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.'); ?></p>
                </div> <!-- .entry-content -->
            </article> <!-- #post-0 -->

        <?php endif; ?>
    </div> <!--/end content -->
<?php get_footer(); ?>

内容-gallery.php

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <div class="post-date"><?php the_time(get_option('date_format')); ?></div>
    <h3 class="blog"><?php the_title(); ?></h3>

    <div class="post-content"><?php the_content(); ?></div>
</div>

有什么想法为什么这些可能不起作用?所有这些文件都在主题的根目录下,因此该get_template_part()方法应该是查找所有文件。奇怪的是,Wordpress 没有吐出任何代码。又名。自从我开始使用这种方法以来,当我检查源代码时,我的浏览器中没有任何一行代码被吐出。

我正在为我的浏览器使用最新版本的 Wordpress 和 Google Chrome。

我的每个.php文件的顶部也有这段代码,但这不应该搞砸任何事情,因为它的注释如下所示:

<?php
/**
 * I put a description of what the file does here.
 *
 * @package Keynote_WP_Themes
 * @subpackage Rhymz_Suhreal
 * @copyright Rhymz Suhreal, 2012
 * @author Kyle Affolder <myemail@example.com>
 */
 ?>

我对自己做错了什么一无所知。:(

想法编码的朋友?!

4

2 回答 2

0

以您的 page-about.php 为例,您应该在要放置的模板中这样调用它:

<?php get_template_part( "page-about" ); ?>

该模板需要位于主题目录的根目录中,因此您可以"page-about"在没有 的情况下使用.php,并且不必指明文件所在的位置/目录。

于 2012-07-07T18:12:13.673 回答
0

我之前也遇到过几次 - 我还不能解释为什么,因为我仍在研究文档,但是当你在 post 循环中时,你似乎不能以这种方式调用模板部分;)

每当您在循环中时,请尝试使用它:

<?php include(get_query_template('page-about')); ?>

于 2013-03-07T03:47:54.060 回答