WordPress ウィジェットのタイトルを非表示にする方法【プラグイン不要】

更新日: 公開日:2017/08/30
WordPress

WordPress のウィジェットを管理する上で、分かりやすいようにウィジェットにタイトルを登録しますが、呼び出し時に必ずタイトルが出力されてしまいます。場合によってはタイトルの出力が不要なケースもあるため、何か方法はないものか探してみたところ、次のようなプラグインを見つけました。

Remove Widget Titles — WordPress プラグイン

このプラグインはタイトルの先頭に「!」を入力したウィジェットに限り、タイトルを出力しないようにするものです。これは最も手っ取り早い方法ですが、大した処理をしないのにプラグインを増やすのは個人的に好きではありません。

また CSS で display: none; を設定する方法もありますが、不要な隠しテキストを実装するのは好ましくないので、html のタグごと非表示にする方法をとることをおすすめします。

そこで今回は、プラグインや CSS を使わずタイトルを非表示にする方法をいくつか紹介していきます。

ちなみに、ウィジェットのタイトルを空で登録した場合は、WordPress の仕様によりタイトルが出力されないようになります。

ウィジェットのタイトルを非表示にする

指定したウィジェットのタイトルを非表示にする

冒頭で紹介したプラグイン「Remove Widget Titles」の処理内容を解析してみると、たった7行のプログラムで構成されていることが分かります。

Remove Widget Titles 処理内容
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 に追記してしまえば同様の機能を使えるようになります。

利用手順
  1. functions.php の末尾にある ?> の手前の行に上記コードを貼り付ける
  2. 先頭に「!」を付けたウィジェットのタイトルが表示されなくなる

これで指定したウィジェットのタイトルが非表示になります。

WordPress の管理画面からテーマファイルを更新する機会が多い人は、更新のタイミングで functions.php に追記した情報が消えてしまいます。その場合、いちいち追記するのは手間になるのでプラグインを導入したほうが便利です。

全てのウィジェットのタイトルを非表示にする

全てのウィジェットにタイトルを付けたいけれど、タイトルの出力は不要。そしてわざわざ先頭に「!」を付けて表示・非表示を管理するのも面倒。そんなあなたには、先程のプログラムをもっとシンプルにした次のコードが役に立つでしょう。

ウィジェットのタイトル非表示用フィルター
add_filter( 'widget_title', 'remove_widget_title_all' );
function remove_widget_title_all( $widget_title ) {
    return;
}
利用手順
  1. functions.php の末尾にある ?> の手前の行に上記コードを貼り付ける
  2. ウィジェットのタイトルが全て表示されなくなる

何も意識せず、とにかくウィジェットのタイトルを非表示にしたいと思っている人にはピッタリの対応方法です。

こちらもテーマファイルを更新すると追記した内容が消えてしまうので、場合によっては前述のプラグインの利用をご検討ください。

以上、WordPress のウィジェットのタイトル出力を行わず非表示にする方法の紹介でした。

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。