2017-05-03 10 views
0

私はちょうどWordPressのチュートリアルシリーズで始まりました。最初のものは、単純な "ループ"を作り、すべての投稿のタイトルと説明。私はそれをやったときに、ホームページの名前と説明を印刷します。WordPress - すべての投稿を表示するための 'The Loop'、ホームページのタイトルを投稿する

<?php 
if (have_posts()) 
{ 
    while (have_posts()) 
    { 
     the_post(); 
     the_title('<h2><a href="the_permalink();"','</a></h2>'); 
     the_content(); 
     // Post Content here 
     // 
    } // end while 
} // end if 
?> 

投稿情報ではなくホームページ情報を印刷する理由がわかりません。

+3

あなたはそのコードをどこに配置しましたか?投稿のタイトルと内容をすべて表示するには、グローバル変数$ postを考慮する必要があります。 – heero

+0

これはインデックスファイル全体でした。私はビデオチュートリアルに従っていましたし、ちょうどそれで動作するようになっていました。 –

答えて

0

任意のページにワードプレス投稿を表示するには、WP_Queryで引数を次のように渡してからオブジェクト経由でループする必要があります。

// The Query 
$the_query = new WP_Query(array('post_type' => 'post','posts_per_page' => -1)); 

// The Loop 
if ($the_query->have_posts()) { 
    echo '<ul>'; 
    while ($the_query->have_posts()) { 
     $the_query->the_post(); 
     echo '<li>' . get_the_title() . '</li>'; 
    } 
    echo '</ul>'; 
    /* Restore original Post Data */ 
    wp_reset_postdata(); 
} else { 
    // no posts found 
} 
+0

それはもっと理にかなっています。どこからthe_postが情報を得ているのか不思議でした。新しいオブジェクトを作成する必要がないビデオチュートリアルに従っていたので、ちょっと混乱しました。 –

+0

実際にthe_postは、デフォルトではフロントページ(通常はあなたのホームページです)の情報を最初に取得します。ホームページに投稿を表示したい場合は、読書オプションを設定パネルからブログに変更して投稿を表示できます。 –

関連する問題