新しいサイトに取り組んで、私は最近の投稿抜粋を静的フロントページに植えようとしています。私はすべての静的コンテンツを(静的ファイルとして)wordpressの外部で行っていましたが、いわば、すべてをWPフォールドに引き込むことを確信していました。
私のホームページとして機能していた私の外部の静的ファイルで、私はブログのヘッダ<?php require('../wordpress/wp-blog-header.php'); ?>
をインクルードする方法を考え出して、そしてそのページでポストを呼び出すこと、そしてそれは魅力のように働いた:
<?php
$count = 0;
?>
<?php if ( have_posts() ) while ( have_posts() && $count <= 6 ) : the_post(); ?>
<section class="post">
<header class="post">
<h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php twentyten_posted_on(); ?>
<div class="hr"></div>
</header>
<article class="post">
<?php the_excerpt(); ?>
</article>
<footer class="post">
<?php twentyten_posted_in(); ?>
</footer>
</section>
<?php $count++; ?>
<?php endwhile; // end of the loop. ?>
だから、今、 Ihavewordpressのフロントページテンプレートを設定し、myを使って動的に配信しています。テーマヘッダとこの同じループのまとまり、 posts ではなく pages back。現在の投稿を見る代わりに、現在自分のサイトにある3つのwpページのタイトル情報をいくつか取り戻します。これはURLクエリ変数によるものだと思いますが、それを回避する方法が明確ではありません。
手動でnew WP-Query();
を呼び出そうとしましたが、何も返されませんでした。 Tho適切な引数が与えられれば、うまくいくかもしれませんが….
この修正されたループを使用して、ページのリストではなく、最近の投稿を静的フロントページに取り込む方法についてご意見をお聞かせください。
とても有難い -
ああ - それを手に入れました - 新しいWP_Queryでほとんどそこにありました、しかし、それの上でqueryメソッドを呼び出すのに失敗していました...これは完全に働きます:
<?php
$excerptQuery = new WP_Query();
$excerptQuery->query('showposts=6');
?>
<?php if ( $excerptQuery->have_posts() ) while ( $excerptQuery->have_posts()) : $excerptQuery->the_post(); ?>
<section class="post">
<header class="post">
<h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php twentyten_posted_on(); ?>
<div class="hr"></div>
</header>
<article class="post">
<?php the_excerpt(); ?>
</article>
<footer class="post">
<?php twentyten_posted_in(); ?>
</footer>
</section>
<?php endwhile; // end of the loop. ?>
front-page.php
テンプレートファイルを使用しない特別な理由はありますか。また、WordPressのヘッダーを外部ファイルに取り込もうとしないでください。
front-page.php
テンプレートファイルを使うのは簡単です:
Dashboard -> Settings -> Reading
に行き、「Front Page Displays」を「Static Page」に設定します。front-page.php
という名前で、テーマ用の新しいテンプレートファイルを作成し、その中にカスタムループコードを含めます。また、ループへの呼び出しでfront-page.php
条件を使用するのではなく、&& $count <= 6
の出力としてメインのループクエリを正しくフィルタ処理する必要があります。
私はget_posts()
への単純な呼び出しを使用し、numberposts
引数を6
に設定することをお勧めします。