0

一部のコンテンツを条件付きで表示するテンプレートの作成に問題があります。これは、記事とチュートリアルを掲載するブログ用です。チュートリアルは、チュートリアルに関する追加情報を含むボックスで始まります。追加情報はカスタム フィールドに入力されます。

「single.php」ファイルには、次のコードがあります。

<section class="entry-content group">
    <?php if ( in_category('tutorials') ) { echo '
        <div class="tutorial-info-box group">
            <h5>About This Tutorial</h5>
            <ul class="tutorial-stats">
                <li> <span> Difficulty: </span> </li>
                <li> <span> Prerequisites: </span> </li>
                <li> <span> Time required: </span> </li>
                <li> <span> Will improve your knowledge of: </span> </li>
            </ul>
        </div>
    '; } ?>
    <?php the_content(); ?>
</section>

上記は、「チュートリアル」カテゴリの投稿でのみこのボックスをレンダリングする場合にうまく機能します。次のようにカスタム フィールドのデータを含めようとすると、問題が発生します。

<section class="entry-content group">
    <?php if ( in_category('tutorials') ) { echo '
        <div class="tutorial-info-box group">
            <h5>About This Tutorial</h5>
            <ul class="tutorial-stats">
                <li> 
                    <span> Difficulty: </span>
                    <?php get_post_meta( $post->ID, 'difficulty', true ); ?> 
                </li>
                <li> 
                    <span> Prerequisites: </span>
                    <?php get_post_meta( $post->ID, 'prerequisites', true ); ?>  
                </li>
                <li> 
                    <span> Time required: </span> 
                    <?php get_post_meta( $post->ID, 'time', true ); ?>
                </li>
                <li> 
                    <span> Will improve your knowledge of: </span>
                    <?php get_post_meta( $post->ID, 'improve', true ); ?>
                </li>
            </ul>
        </div>
    '; } ?>
    <?php the_content(); ?>
</section>

真っ白な画面だけになってしまいます。これはある種の構文エラーであると想定していますが、それが何であるかはわかりません。誰でも助けることができますか?前もって感謝します!!!

4

1 に答える 1

0

文字列内にオープンを含め<?phpます。次のように修正します。

<section class="entry-content group">
    <?php if ( in_category('tutorials') ): ?>
        <div class="tutorial-info-box group">
            <h5>About This Tutorial</h5>
            <ul class="tutorial-stats">
                <li> 
                    <span> Difficulty: </span>
                    <?php echo  get_post_meta( $post->ID, 'difficulty', true ); ?> 
                </li>
                <li> 
                    <span> Prerequisites: </span>
                    <?php echo get_post_meta( $post->ID, 'prerequisites', true ); ?>  
                </li>
                <li> 
                    <span> Time required: </span> 
                    <?php echo get_post_meta( $post->ID, 'time', true ); ?>
                </li>
                <li> 
                    <span> Will improve your knowledge of: </span>
                    <?php echo get_post_meta( $post->ID, 'improve', true ); ?>
                </li>
            </ul>
        </div>
    <?php endif; ?>
    <?php the_content(); ?>
</section>
于 2012-06-17T15:57:30.770 に答える