2011-07-28 6 views
0

私はカスタムpage.phpテンプレートを構築しました。非常に単純な、本質的に:ページテンプレート、シングルページ表示

<?php get_header(); ?> 

<?php get_sidebar(); ?> 

<?php the_post(); ?> 

<h1><?php the_title(); ?></h1> 

<?php get_footer(); ?> 

URLを訪問すると、私はちょうど同じページタイトルを取得します。

私はドキュメントで読んで、the_title()などは "the loop"のときだけ使用するように言います。

おそらく、私はちょうど "配列"の最初のページを表示しています。

URLに基​​づいて1ページの内容を取得する方法はありますか?

編集:実際には、これを行う必要がありますか?サンプルテンプレートを参照すると、私はすべてのことを正しくやっているように見えますか?カスタムページテンプレートの

答えて

0

私はカスタムクエリを使用していた私のサイドバーで正しい

<?php 
/* Template name: My custom template */ 

get_header(); 


    if (have_posts()) while (have_posts()) : the_post(); 

the_title(); 
the_content() 

endwhile; 
get_sidebar(); 
get_footer(); 
?> 
+0

お返事ありがとうございます。それは、私の投稿オブジェクトをぶち壊していたカスタムクエリだった。残念ながら、私はCSSの浮動小数点演算(私はそれがSEOの観点から理想的ではないことを知っている)を知っているので、 "ループ"の前にget_sidebar()を移動しなければならなかった - サイドバーコードのエラーのため、適切に動作します。 – Stephen

1

すべてを取得するために、次を使用してください。

リセットせずにメインページのコンテンツにアクセスしようとする前に呼び出されました。

あなたがそうのようなあなたのループを終えた後、あなたがリセットする必要がありますカスタムクエリ実行:

$originalPost = $post; 
$sidePosts = get_posts($queryArgs); 
foreach($sidePosts as $post) { 
    setup_postdata($post); 
    // echo it out like a normal post. 
} 
$post = $originalPost; 

か、query_posts()を使用している場合(これはあなたがサイドバーにいないはずの):

wp_reset_query(); 

これはあなたの投稿を以前の値に戻します。

関連する問題