【WordPress】Jetpack人気記事ウィジェットから記事を複数除外する方法

2018年8月24日ITリテラシー

wordpress

WordPressでブログを運営しているなら多くの人が利用しているであろうJetpack。Jetpackには人気記事も表示させるウィジェットがあって便利なんだけど、カスタマイズが少しややこしい。

今回はそんなJetpack人気記事ウィジェットで、ランキングに表示したくない記事を複数除外する方法。

広告

Jetpack人気記事ウィジェットから記事を複数除外する方法

Jetpack人気記事ウィジェットから記事を複数除外する方法は、以下のコードをfunctions.phpの一番下に張り付けるだけ。※functions.phpを編集するときは必ずバックアップ!

// Jetpack人気記事ウィジェットから特定の記事を除外 ------------------------------------------------------------------
function jeherve_remove_post_top_posts( $posts, $post_ids, $count ) {

$page_ids_to_exclude = array( ●●●●, ●●●● ); // 除外したい記事のidをコンマ区切りで入力

foreach ( $posts as $k => $post ) {
if ( in_array( $post['post_id'], $page_ids_to_exclude ) ) {
unset( $posts[$k] );
}
}
return $posts;
}
add_filter( 'jetpack_widget_get_top_posts', 'jeherve_remove_post_top_posts', 10, 3 );

「●●●●」の部分に除外したい記事のIDをコンマで区切って入力していく。記事IDの調べ方が分からない場合はググってね。

ただこの方法だと、複数記事を除外していくことはできるものの、どちらかというと該当記事が人気記事ランキングに入っていた場合その記事が非表示になるといった感じ。例えば人気記事を8記事表示する設定にしていて、その中の2つの記事を除外すると表示されるのは6記事になる。

人気記事が落ち着いているならいいけど、コロコロ順位が変わる場合に表示記事数がコロコロ変わってしまう可能性があるのが難点。

WordPress|プラグインなしで関連記事や人気投稿を表示させる【記事内/ウィジェットエリア】