最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressで最新の固定記事を表示する方法

WordPressには「固定投稿」という非常にクールな機能があります。固定投稿はブログの注目の投稿と考えてください。投稿を固定としてマークすると、新しい投稿の上に表示されますが、テーマがそれを許可している場合に限ります。このチュートリアルでは、WordPressで最新の固定投稿を表示する方法を説明します。

最新の固定投稿デモ

注意:これは中級レベルのチュートリアルであり、基本的なHTML/CSSの知識とWordPressテーマの知識が必要です。

動画チュートリアル

WPBeginnerを購読する

動画が気に入らなかった場合や、さらに詳しい説明が必要な場合は、読み進めてください。

まず、このコードスニペットをテーマのfunctions.phpファイルまたはサイト固有のプラグインにコピーして貼り付ける必要があります。

function wpb_latest_sticky() { 

/* Get all sticky posts */
$sticky = get_option( 'sticky_posts' );

/* Sort the stickies with the newest ones at the top */
rsort( $sticky );

/* Get the 5 newest stickies (change 5 for a different number) */
$sticky = array_slice( $sticky, 0, 5 );

/* Query sticky posts */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
	$return .= '<ul>';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
		$return .= '<li><a href="' .get_permalink(). '" title="'  . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
		
	}
	$return .= '</ul>';
	
} else {
	// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

return $return; 

} 
add_shortcode('latest_stickies', 'wpb_latest_sticky');

上記のコードは、WordPressデータベースにクエリを実行して、最新の固定投稿5件を取得します。次に、各固定投稿のタイトルをリンク付きでリスト形式で表示します。これらすべてを関数でラップし、ショートコードを作成しました。

最新の固定投稿を表示するには、WordPressの投稿、ページ、またはテキストウィジェットのどこにでもショートコード `[latest_stickies]` を使用できます。

テキストウィジェット内でショートコードを使用したい場合は、テーマのfunctions.phpまたはサイト固有のプラグインにこの追加コード行を追加する必要があります。

add_filter('widget_text', 'do_shortcode');

このスニペットと関数は、注目のスライダーや、サイトに表示したいその他の高度な機能で非常にうまく使用できます。このスニペットは主に、カスタムホームページまたは雑誌スタイルの外観を持つWordPressサイト向けです。

これで完了です。この記事がWordPressブログに最新の固定投稿を表示するのに役立ったことを願っています。WordPressで固定投稿に有効期限を追加する方法に関するチュートリアルも確認したいかもしれません。

この記事が気に入った場合は、WordPress のビデオチュートリアルについては、YouTube チャンネルを購読してください。また、TwitterGoogle+ でも私たちを見つけることができます。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

8 CommentsLeave a Reply

  1. あなたの非常に有益な努力により、このコードは完全に機能します。
    複数のカテゴリとサブカテゴリがありますが、各カテゴリに個別にスティッキー投稿を作成し、すべての投稿がリストされているカテゴリリストページに表示したいと考えています。たとえば、(スポーツカテゴリ->スティッキー投稿1つ – 料理レシピカテゴリ->スティッキー投稿1つ)などです。

  2. 正しい方向へ導いてくれてありがとうございます!!
    ショートコードが貼り付けられた場所にタイトルを表示させるコードはうまく機能しています。

    ただし、特定のページに投稿全体(タイトルや抜粋だけでなく、すべてのコンテンツ)を表示する方法を探していました。

    上記のコードを試してこれを達成しようとしましたが、最終的に管理できました…
    タイトルは段落テキストと同じサイズで表示されますが、それを修正できると確信しています。

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    get_the_excerpt() のテキストを get_the_content() に変更しただけで、ブログ記事全体がそのページに正常に読み込まれました。
    箇条書きのインデントを削除するために、” ” ” ” タグを削除しましたが、アポストロフィはそのまま残す必要がありました。そうしないとページが読み込まれませんでした。
    つまり、以前は「”」または「”」だったところが、今は「”」だけになったということです。

    私が変更したのはそれだけで、ほとんど問題なく動作しています…
    気づいた問題が2つあります。
    1: 時々、投稿のほとんどは読み込まれますが、常に最後まで読み込まれるわけではありません。特に投稿が後で編集された場合…これが起こらないようにするための提案はありますか?
    2: 投稿のアイキャッチ画像も表示されると嬉しいです。そうすれば、究極の柔軟なソリューションになります!何か考えはありますか?

    アドバイスをありがとう!

    私が説明したことが、同じことを達成したいと思っている誰かに理解されることを願っています。

  3. こんにちは

    コードをありがとうございます。しかし、私が達成しようとしていることがあり、2つの問題があります。

    ホームページに1つの固定投稿のみを表示し、コンテンツにあるYouTube動画のみを表示したいです。

    実際、投稿のタイトルとすべてのコンテンツ(テキスト、画像、動画を含む)を表示します。
    2番目の問題は、YouTubeが直接動画をホームページに埋め込むのではなく、リンクとして表示されることです。

    ご協力ありがとうございます

  4. こんにちは、

    コードを試しましたが、少なくとも1つの投稿が固定投稿として割り当てられている場合は正常に動作しますが、固定投稿が割り当てられていない場合は、最新の5つの投稿すべてが表示されます。

    固定投稿のみを表示する場合も同様の条件になります。固定投稿が割り当てられていない場合は、何も表示されないはずです。

    事前に感謝いたします

  5. v3.1以降、「caller_get_posts」は「ignore_sticky_posts」に置き換えられたため、コードをそれに合わせて変更することが重要だと思います。
    また、a) $post->ID は、$the_query->the_post() を呼び出して投稿データを設定しているため、get_permalink() のこのインスタンスでは不要です。もし何らかの理由で $post->ID を含めたい場合は、グローバル化する必要があります。つまり、global $post; です。

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。