web-dev-qa-db-ja.com

ページテンプレートに投稿リストを追加する方法

右側の列に静的コンテンツを含み、左側の列にブログ投稿をリストするページを作成する必要があります。静的コンテンツは、[ダッシュボード]> [ページ]> [ページ]から編集可能である必要があります。どうやってこれをするの?

あなたのwp-content/themes/your-themeフォルダにあなた自身のページテンプレートを作成する必要があります...

カスタムページテンプレート

新しいファイルを作成したのと同じフォルダに、page.phpという名前のファイルがあります。編集することを選択してそのファイルを開き、その中にあるすべてのファイルをコピーします。

次に、ページの一番上に、ファイルにコードを配置してテンプレートに名前を付ける必要があります。以下の例では、テンプレートに「Test」という名前を付けました。

<?php
/* 
Template Name: Test 
*/
?>

これで、カスタマイズを始める準備が整いました。

2つの列

HTMLテンプレートがまだない場合は、次のようになります。

<div id="wrap-page">
    <div class="left">
        LIST BLOG POSTS HERE
    </div>
    <div class="right">
        CONTENT EDITABLED FROM ADMIN → PAGES → YOUR PAGE
    </div>
</div>

CSSの例:

#wrap-page {
    width: 100%;
}
.left { 
    width: 50%;
    float: left;
}
.right {
    width: 50%;
    float: right;
}

または何でも。

ブログの投稿リストを追加

左側の列にカスタムクエリが必要です。

<?php query_posts(array('post_type' => 'post','orderby' => 'date')); 
    if(have_posts()) : while(have_posts()) : the_post();
    // do something
    endwhile; else:
    // no posts found
    endif; wp_reset_query();
?>

ページ内容

あなたのページのコンテンツはこのコードで呼ばれます:

<?php
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    // do something
    endwhile; else:
    // no posts found
    endif;
?>

これで、必要なものがすべて揃いました。管理領域であなたのページにあなたの新しいカスタムテンプレートを選択すればそれは完了です。それが助けになるなら、これはテンプレート全体のいくつかの例です:

カスタムページテンプレートの例

<?php
/* 
Template Name: Test 
*/
?>

<?php get_header(); ?>

<div id="wrap-page">
    <div class="left">

        <?php query_posts(array('post_type' => 'post','orderby' => 'date')); 
              if(have_posts()) : while(have_posts()) : the_post(); ?>

            <?php the_post_thumbnail(); ?>
            <h3><?php the_title(); ?></h3>
            <?php the_content(); ?>

       <?php endwhile; ?>
       <?php else : ?>

            <p>sorry no results</p>

       <?php endif; wp_reset_query(); ?>

    </div>
    <div class="right">

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

            <h3><?php the_title(); ?></h3>
            <?php the_content(); ?>

        <?php endwhile; ?>
        <?php else : ?>

            <p>sorry no results</p>

       <?php endif; ?>

    </div>
</div>

<?php get_footer(); ?>

がんばろう。

2
Medardaosa