広める価値のあるコンテンツと思ったら、シェアお願いします!☺️

【プラグインなし】人気記事で特定の記事を除外する方法【PHP】



3週間前に作成した“いかがわしい記事”が人気記事にランクインしました。

いろんな人が当サイトを訪れるため

「一部の人からのサイトの評価を落としてしまうかもしれない」

と思いました。

そこで管理人はいかがわしい記事を人気記事から除外することに。

以下にその手法をまとめます。

人気記事で特定の記事を除外する方法

クエリ内の配列(array)に post__not_in記事のID を記述する。

'post__not_in' => array(1,2,3),

post__not_in は指定された投稿以外の表示をさせます。

(指定した記事の除外)

ステップ1 記事のIDの取得方法

まずは記事のIDを知る必要があります。

ここでは私が行った方法をご紹介します。

①Choromeで検証

人気記事のIDを知る

かっこつけて英語にしていますが、「検証/inspect」をクリックすればOKよ。

②IDを知りたい記事の「h1タグ」をクリック

検証画面で、h1タグの上の方に記事IDが見つかるでしょう。

投稿IDを知る。人気記事

この記事の場合ですと、記事のIDは683です。

ワード検索でもいいんですけどね。

ステップ2 PHPに記述する

除外したい記事のIDを知ることができたら、phpファイル内にある以下のようなコードを探します。

$popular = new WP_Query(array(
'posts_per_page'=>7, //人気記事の表示数
'meta_key'=>'popular_posts',
'orderby'=>'meta_value_num',
'order'=>'DESC'));

'post__not_in' => array(1,2,3),

を’meta_key’と’orderby’の間に埋め込みましょう。

【完成図】
$popular = new WP_Query(array(
'posts_per_page'=>7, //人気記事の表示数
'meta_key'=>'popular_posts',
'post__not_in' => array(683),
'orderby'=>'meta_value_num',
'order'=>'DESC'));

除外したい記事が複数ある場合は「array(683,685)」のように「,」で番号を区切り指定して除外します。

注意点として、おなじクエリ内で 'post__in' と 'post__not_in' を同時に使えないことがあります。

参考:関数リファレンス/WP Query

まとめ

プログラミングの勉強なら無料講座が豊富なプロゲートがオススメです。

にんじゃわんこがかわいくて学習がはかどるでしょう。

どうでもいいですよね。ははは

それではさようなら。

広める価値のあるコンテンツと思ったら、シェアお願いします!☺️