WordPressのウィジェットにタグクラウドを表示する際、すべてのタグが一覧で表示されますが、タグの一覧から一部のタグを除外したい場合がありました。
そんな時、apply_filters widget_tag_cloud_args のフィルターフックを発見。
widget_tag_cloud_args | Hook | WordPress Developer Resources
apply_filters widget_tag_cloud_args を利用する事でタグクラウドの中から一部のタグを省いて表示することが可能でしたので、その方法を備忘録として記載。
WordPress 5.8.3を使って検証しています。お使いのWordPressのテーマ・プラグイン・バージョンによっては正常に動作しないことも考えられますので、ソースコードを編集する場合は必ずバックアップを行ってから作業してください。
ソースコード
functions.phpに以下のソースコードを記述します。
function custom_widget_tag_cloud_args($args) {
$args['exclude'] = array(47, 48, 51, 52, 56, 58);
return $args;
}
add_filter('widget_tag_cloud_args', 'custom_widget_tag_cloud_args');
ソースコードについて補足
$args[‘exclude’] で除外するタグのID(tag_ID)を指定します。
上記の例では、47, 48, 51, 52, 56, 58の複数のタグを除外しています。
今回、私はウィジェットにタグクラウドに追加したのみでしたが、上記のソースコードではタグクラウドが表示されるすべての場所で適用されると思います。ウィジェット以外でタグクラウドを使っている場合などには有効な手段ではないかもしれません。参考までにご覧ください。
コメント