WordPress ウィジェットのタイトルを非表示にする方法【プラグイン不要】
WordPress のウィジェットを管理する上で、分かりやすいようにウィジェットにタイトルを登録しますが、呼び出し時に必ずタイトルが出力されてしまいます。場合によってはタイトルの出力が不要なケースもあるため、何か方法はないものか探してみたところ、次のようなプラグインを見つけました。
Remove Widget Titles — WordPress プラグイン
このプラグインはタイトルの先頭に「!」を入力したウィジェットに限り、タイトルを出力しないようにするものです。これは最も手っ取り早い方法ですが、大した処理をしないのにプラグインを増やすのは個人的に好きではありません。
また CSS で display: none; を設定する方法もありますが、不要な隠しテキストを実装するのは好ましくないので、html のタグごと非表示にする方法をとることをおすすめします。
そこで今回は、プラグインや CSS を使わずタイトルを非表示にする方法をいくつか紹介していきます。
ちなみに、ウィジェットのタイトルを空で登録した場合は、WordPress の仕様によりタイトルが出力されないようになります。
ウィジェットのタイトルを非表示にする
指定したウィジェットのタイトルを非表示にする
冒頭で紹介したプラグイン「Remove Widget Titles」の処理内容を解析してみると、たった7行のプログラムで構成されていることが分かります。
add_filter( 'widget_title', 'remove_widget_title' ); function remove_widget_title( $widget_title ) { if ( substr ( $widget_title, 0, 1 ) == '!' ) return; else return ( $widget_title ); }
この程度であれば、わざわざプラグインを導入せずとも、テーマ内の functions.php に追記してしまえば同様の機能を使えるようになります。
- functions.php の末尾にある ?> の手前の行に上記コードを貼り付ける
- 先頭に「!」を付けたウィジェットのタイトルが表示されなくなる
これで指定したウィジェットのタイトルが非表示になります。
WordPress の管理画面からテーマファイルを更新する機会が多い人は、更新のタイミングで functions.php に追記した情報が消えてしまいます。その場合、いちいち追記するのは手間になるのでプラグインを導入したほうが便利です。
全てのウィジェットのタイトルを非表示にする
全てのウィジェットにタイトルを付けたいけれど、タイトルの出力は不要。そしてわざわざ先頭に「!」を付けて表示・非表示を管理するのも面倒。そんなあなたには、先程のプログラムをもっとシンプルにした次のコードが役に立つでしょう。
add_filter( 'widget_title', 'remove_widget_title_all' ); function remove_widget_title_all( $widget_title ) { return; }
- functions.php の末尾にある ?> の手前の行に上記コードを貼り付ける
- ウィジェットのタイトルが全て表示されなくなる
何も意識せず、とにかくウィジェットのタイトルを非表示にしたいと思っている人にはピッタリの対応方法です。
こちらもテーマファイルを更新すると追記した内容が消えてしまうので、場合によっては前述のプラグインの利用をご検討ください。
以上、WordPress のウィジェットのタイトル出力を行わず非表示にする方法の紹介でした。