0

だから私はかなりの初心者で、カスタムテーマを作ろうとしています。ページにギャラリーが必要です。画像をアップロードし、ギャラリーをすべて正常にしました。

ページを表示すると、ショートコードのみが出力されます。

[ギャラリー orderby="post_date"]

私のpage.phpファイルには基本的に次のものがあります:

<?php $content = get_page( $page_id ) ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>

<?php echo $content->post_content ?>
    </div>
</div>


<?php get_sidebar(); ?>

<?php get_footer(); ?>

これを正しく表示する方法が本当にわかりません。ポインタがあれば大歓迎です。乾杯、マット

4

1 に答える 1

1

get_page は生のページ データを返します。必要なことを行うには、いくつかの方法があります。

間違った方法:

<?php $content = get_page( $page_id ) ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>

<?php echo do_shortcode($content->post_content); ?>
    </div>
</div>


<?php get_sidebar(); ?>

<?php get_footer(); ?>

do_shortcode() は、指定された文字列内で見つかったすべての登録済みショートコードをレンダリングします。この場合、ページのコンテンツは、ドキュメントに書き込まれる前にすべてのショートコードがレンダリングされます。私はこれが「悪い」方法だと言いますが、それは通常の Wordpress 形式に従っていないからです。これにより、次のことがわかります。

より良い方法:

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

<div id='content' class='shadow'>
    <div id='innercontent'>
<!---page title-->
<h1><?php the_title(); ?></h1><br>
<?php the_content(); ?>
    </div>
</div>
<?php endwhile;endif; ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

これが「 The Loop 」と呼ばれるものです。これは、すべての投稿またはページ データの取得、およびデータベースに対するクエリの実行において、すべての Wordpress テーマのほぼ標準です。

WP Queryを使用してループを変更するためにWordpressクエリを実行するだけでなく、それを知ることをお勧めします。これはWordpressのより複雑な領域に入りつつありますが、長期的には、Wordpressのグローバルによって提供されない、テーマで取得したいすべての投稿とページを収集する方法を理解するのに役立ちます.

幸運を。

于 2012-09-13T17:46:42.690 に答える