WordPressで先頭固定表示の投稿をループから除外したいですか?正しい場所にいます。
先頭固定表示は、おすすめ投稿コンテンツを強調するのに最適な方法です。しかし、私たちの意見では、投稿日: を先頭に固定表示する必要がないサイトもあります。
この投稿では、WordPressのループから先頭固定表示を完全に除外する方法を紹介する。
なぜ先頭固定表示をループから除外すべきなのか?
WordPressサイトの特定のエリアに表示したくない場合は、WordPressサイトのループから先頭固定表示を削除すると便利です。
先頭固定表示は、柱となる記事、トラフィックの多いブログ記事、一刻を争うコンテンツなど、重要なコンテンツを強調するのに便利です。しかし、最新の投稿ウィジェットエリアが混雑し、最新のコンテンツにアクセスしにくくなる可能性があります。
そこで便利なのが、ループから先頭固定表示を除外する方法だ。WordPressはこれを推測できないので、カスタムループから先頭固定表示のブログ投稿を除外するように明示的にWordPressに指示する必要がある。
それでは、WordPressのループから先頭固定表示を削除する方法を見てみましょう。
WordPressでループから先頭固定表示を除外する
ループの先頭から固定表示を除外したり、ループから完全に削除したりするために、カスタムコードスニペットを作成しました。
この作業はサイト上のコードを編集する必要があるため、初心者の方には難しいかもしれません。WordPressにスニペットを貼り付ける方法については、こちらをご覧ください。
また、開発者を雇い、マンツーマンで手伝ってもらうことも検討できるだろう。
カテゴリー:WordPressで先頭固定表示を無視する方法
このコードは、投稿が先頭固定表示であることを無視し、WordPressブログの通常の順序で投稿を表示します。
このコードを使用することで、付箋表示はループ内に表示されますが、通常通り先頭には表示されません。
次のコードをテーマのfunctions.phpファイルまたはコードスニペットプラグインに入力するだけです:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'ignore_sticky_posts' => 1
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
WordPressのための最高のコードスニペットプラグインであるWPCodeでこのコードを追加することをお勧めします。WPCodeを使えば、テーマのfunctions.phpファイルを編集することなく、安全かつ簡単にWordPressにカスタマイザーのコードを追加することができます。
開始するには、無料のWPCodeプラグインをインストールし、有効化する必要があります。WordPressプラグインのインストール方法については、こちらのチュートリアルをご覧ください。
プラグインを有効化したら、WordPressダッシュボードからCode Snippets ” + Add Snippetページにアクセスします。
そこから、’カスタムコードを追加(新規スニペット)’オプションを見つけ、その下の’スニペットを使用’ボタンをクリックします。
次に、スニペットのタイトルを追加することができます。これは、何のためのコードかを覚えておくのに役立つものであれば何でもかまいません。
次に、上記のコードを「コードプレビュー」ボックスに貼り付け、右側のドロップダウンリストからコードタイプとして「PHPスニペット」を選択します。
その後、スイッチを’Inactive’から’Active’に切り替え、’Save Snippet’ボタンをクリックするだけです。
ループから先頭固定表示を完全に除外する
次の投稿は、スライダープラグインでスティッキー投稿を使用している場合、ループからスティッキー投稿を完全に除外したい場合があります。
以下のコード・スニペットをfunctions.phpファイルまたはコード・スニペット・プラグインに追加するだけです:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'post__not_in' => get_option( 'sticky_posts' ) // do not display the sticky posts at all.
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
このコードでは、投稿ループで先頭固定表示はされません。
WPCodeプラグインを使って、上記と同じ手順でこのコードを追加することができます。
WordPressテーマを変更するためのヒントについては、初心者向けのWordPressテーマ・チート・シートをご覧ください。
この投稿が、WordPressで先頭固定表示をループから除外する方法を学ぶのにお役に立てば幸いです。また、WordPressの特定のページでウィジェットを表示または非表示にする方法や、WordPressの関連投稿プラグインのエキスパートによるベストピックもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
ogunrinde fatai
I am having similar issue with the broken pagination when removing the sticky post, does anyone has a fix thanks
Sam
Your code just causes my links to break and i’m not sure why
Stephen
I am having a problem that the one “sticky” post shows up as the first “featured” post so there is the same article listed twice in succession. Any help would be great.
Kyle Shevlin
Don’t know if this happened for anyone else, but using this broke the pagination. My next page of posts would be a repeat of the first page. If this happened to anyone else, do you have a fix?
Umut Kay
Hi,
i have the same issue, do you found any workaround or another solution?
Super Nguyen
I have the same problem, my navigation on homepage not working
Agus Almaula
Thank you so much, just because i am totally wpBeginner i came to this site and my WP development solved.
~agus~
Rut
Where do I paste this peace of code? I constantly get errors…
Daniel Lemes
Both methods broke my pagination (page links still there, but load always the same posts), any idea on it?
Rohit Tripathi
This is really great. One place where you don’t need this is when creating a custom sidebar widget to display recent posts.
Thanks.
Kyle Shevlin
Is there any reason that adding this would remove the functionality of archives and tag cloud links? I, too, am trying to exclude sticky posts from my main blog loop using one loop to operate a featured section and a second to operate everything else. The trouble I’m having comes when I click on links in an archive section or tag cloud. It redirects me back to my first page again. When I remove this exclusionary code, it works just fine. Can’t figure this one out.
chris mccoy
you can also use pre_get_posts so you dont have to alter your main loop.
$query->set(‘post__not_in’, get_option(‘sticky_posts’));