2016年3月20日

現在見ている投稿記事は、サイドバー新着記事一覧から除外する方法。

スポンサードリンク

 ブログの個別投稿を見ている時、
今見ているページがサイドバーに表示されないようにする設定です。

他の投稿が代わりに表示される方が、幅広いコンテンツを提供できるから。

Stinger5のNEW POSTから閲覧中の投稿を除外



 とても簡単にできるので、
これは是非やっておく事をおすすめします。

今閲覧しているページを、わざわざ
サイドバーで紹介する必要が無いからです。


 ではカスタムしましょう。

WordPress管理画面→

外観→

テーマの編集→

newpost.php→


以下のコードを探します。


<div id="kanren">
  <?php
$args = array(
    'posts_per_page' => 5,
);
$st_query = new WP_Query($args);
?>
  <?php if( $st_query->have_posts() ): ?>
  <?php while ($st_query->have_posts()) : $st_query->the_post(); ?>



以下のコードを付け足します。

'post__not_in' => array($post->ID),//今見ている記事IDを除外


完成したコードがこちら。


<div id="kanren">
  <?php
$args = array(
    'posts_per_page' => 5,
'post__not_in' => array($post->ID),//今見ている記事IDを除外
);
$st_query = new WP_Query($args);
?>
  <?php if( $st_query->have_posts() ): ?>
  <?php while ($st_query->have_posts()) : $st_query->the_post(); ?>



 実際に、新着記事の個別ページで確かめて見て下さい。

上のコードにあるように、
サイドバーのNEW POST=新着記事一覧は5つ表示されます。

つまり、最新投稿の5つ以内のもので確認して下さい。


 新着投稿を閲覧中の場合、
サイドバーのNEW POSTには非表示になっていれば成功。


 ちなみに、
これは今見ている記事のIDを取得する方法なので、
例えばアーカイブ一覧やトップページではきちんと全ての新着記事が表示されます。

使い勝手の良い方法、素晴らしいです。


参考にしたサイト

【WordPressで「特定のカテゴリに含まれている記事」を表示するときに今見ている(表示している)記事を除外したりできる「post__not_in」について】


 もしも、フッターやその他好きな位置に
NEW POST=新着記事一覧を設置している場合も同様。

トップページではきちんと表示される…と思います。
必ずチェックして下さい。


新着投稿を閲覧中のみ、
その投稿リンクがNEW POST=新着記事一覧から
除外されていればOKですね。



 こちらのブログはBloggerです。
WordPressの実際の表示を確認したい方は
ラビットしま子の「人生美容パラダイス」をご覧下さい。


 当ブログの情報は全ての方に応用できるとは限りません。
ご利用は自己責任です。当ブログ側はいかなる責任も負いません。

必ずデータは最新のバックアップを取っておいて下さい。


 WordPressを利用される場合はUTF-8Nの文字コードに必ず変換して下さい。

当ブログのコードをコピーしてphpファイル等に直で貼付けすると
ファイルやデータが破損します。
パソコンのメモ帳は不可です。

詳細はWordPressヘルプを参照下さい。


 ラビットしま子はサイト制作のプロではありません。
個別のカスタマイズについての相談は乗ってあげたいけど、乗れません。
(わからんから)


スポンサードリンク