ウィジェットのタイトルにHTMLタグを入力する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

記事に記載したコードは、スキンに追加されています。

はじめに

WordPressの標準機能では、ウィジェットのタイトルにHTMLタグを入力することはできません。
タグを入力しても、自動的に除去されてテキストのみが表示されてしまいます。

しかし、タイトル前にアイコンを追加したい場合など、HTMLタグを使いたいケースもあるでしょう。
そこで、ウィジェットタイトルにHTMLタグを入力できるようにします。

この記事では、この方法について説明します。

完成イメージ

実装方法

以下の手順で実装します。

  • ラベル
    ウィジェットのタイトル入力

    以下の手順で入力します。

    1. 外観→ウィジェットでウィジェットを配置します。
    2. ウィジェットのタイトルにHTMLタグを入力します(<>の代わりに[]を使用)。

    [i class="fas fa-calendar-alt"][/i] カレンダー
  • ラベル
    PHPを追加

    以下のコードをfunctions.phpに追加します。

    add_filter('widget_title', function ($title) {
      if (!is_string($title)) {
        return $title;
      }
    
      $rules = [
        '['       => '<',
        ']'       => '>',
        '&#8216;' => "'",
        '&#8217;' => "'",
        '&#8221;' => '"',
        '&#8220;' => '"',
      ];
    
      foreach ($rules as $search => $replace) {
        $title = str_replace($search, $replace, $title);
      }
    
      return $title;
    });
タイトルとURLをコピーしました