0

他の人からの深刻なWordpressの専門知識が必要です. 私はカスタム テーマを構築している最中で、get_template_part()メソッドについて読んで、コードのクリーンアップと整理に役立つと判断しました。この方法をいくつかの場所で使用するようにテーマを更新しましたが、サイトが完全に壊れてしまい、何も読み込まれません!! :(本当に助けていただければ幸いです!以下のphpファイルのいくつかをコピーして貼り付けます.この方法の使用経験が豊富な人が問題を指摘できるかもしれません.ありがとう!

page.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>

ページ-mediagallery.php

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

index.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(); ?>

content-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 からコードが吐き出されていないことです。別名。この方法を使い始めてから、ソースを調べたときにブラウザーにコードが 1 行も出力されません。

ブラウザには最新バージョンの 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

以前にも何度かこれに遭遇しました-まだドキュメントを調べているので、理由をまだ説明できませんが、投稿ループ内にいるときは、この方法でテンプレートパーツを呼び出すことはできないようです;)

ループ内にいるときはいつでも、代わりにこれを使用してみてください。

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

于 2013-03-07T03:47:54.060 に答える
0

例として page-about.php を使用すると、配置するテンプレートで次のように呼び出す必要があります。

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

テンプレートは、テーマ ディレクトリのルートにある必要があります。これにより、.xml"page-about"なしで使用できるよう.phpになり、ファイルが配置される場所/ディレクトリを指定する必要がなくなります。

于 2012-07-07T18:12:13.673 に答える