2011-08-11 20 views
1

1ページにすべてのページを表示する必要があります。私は、各ページに持って来るためにこれを使用しています現時点ではWordpressは1ページにすべてのページを表示します

<?php 
$page_id = 5; //id example 
$page_data = get_page($page_id); 
$content = apply_filters('the_content', $page_data->post_content); 
$title = $page_data->post_title; 
echo $content; 
?> 

しかし、新しいページが作成されている場合、それは文句を言わない、それはのように文句を言わない、このコードと場所にそのIDを持って表示する。..

自動的にすべてのページを表示する方法はありますか?

すべてのヘルプは感謝

答えて

11

、理解されるであろうあなたはそうのようなループでこれを行う、get_pages();を使用して、あなたのブログのすべてのページを取得することができます:

$pages = get_pages(); 
foreach ($pages as $page_data) { 
    $content = apply_filters('the_content', $page_data->post_content); 
    $title = $page_data->post_title; 
    echo $content; 
} 
+0

、どうもありがとう! – Tekdz

+0

返された配列には "post customs"のインデックスが含まれていません。 –

1

また、あなたが使用している場合二十テンのテーマ(私はそれが他の人に動作する方法がわからない)あなたは簡単にフォーマットされたすべてのページを取得することができます:

echo "<h1 class=\"entry-title\">".$title."</h1>" 
    ."<div class=\"entry-content\">".$content."</div>"; 
0

さてあなたは、同様に、このコードによって、各ページの内容を取得することができます。あなたが別のページにカスタムテンプレートを使用しているあなたは1ページ

受け入れ答えの返される配列が含まれていません
0

「ポスト上のテンプレートファイルをコンテンツを取得することはできませんが、場合

$content = apply_filters('the_content', $content); 

はまだ大きな問題があります税関 "(私は私の場合に必要)。また、特定の属性を持つページを取得する必要がある場合もあります。よりカスタマイズされた結果を得るためargsを使用します。

<?php $args = array(
    'sort_order' => 'asc', 
    'sort_column' => 'post_title', 
    'hierarchical' => 1, 
    'exclude' => '', 
    'include' => '', 
    'meta_key' => '', 
    'meta_value' => '', 
    'authors' => '', 
    'child_of' => 0, 
    'parent' => -1, 
    'exclude_tree' => '', 
    'number' => '', 
    'offset' => 0, 
    'post_type' => 'page', 
    'post_status' => 'publish' 
); 
$pages = get_pages($args); 
?> 

そして、このようにそれらを使用する:勤務

<?php 
    foreach ($pages as $page) { 
    $title = $page->post_title; 
    echo $title. "<br />"; 
} ?> 

Read more here

関連する問題