「グループ」ブロック全体をリンクとして設定する方法

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

はじめに

複数の段落を一纏めにして、全体をメニューとしてリンクさせたい場合があります。
しかし、WordPressには、カラム全体やグループ全体をリンクにする設定がありません。
そのため、リンクにしたいブロックの前後に「カスタムHTML」ブロックを配置し、<a>タグで囲む必要があります。

そこで、「カスタムHTML」ブロックを使わずにグループ全体にリンクを適用します。
この記事では、この方法について説明します。

この方法は以下の応用です。

完成イメージ

実装手順

以下の手順で実装します。
ここでは「カラム」ブロックについて説明します。

  • ラベル
    Gutenbergエディターでの設定
    Gutenbergエディター

    以下の手順で設定します。

    1. 「カラム」ブロックを配置します。
    2. カラム内に一纏めにしたいブロックを配置します。
      その際、「段落」ブロックで入力したテキストの1つに必ずリンクを設定します。
    3. カラムの高度な設定→追加CSSクラスにmy-linkと入力します。
      グループも同様に、一纏めにしたブロックに対して追加CSSクラスを設定します。
  • ラベル
    JavaScriptを追加

    以下のコードをjavascript.jsに追加します。

    jQuery(function($) {
      // クリックした場合
      $('.my-link').on('click', function() {
        // グループ内のリンク情報を取得
        var $link = $(this).find('a');
        var href = $link.attr('href');
        var target = $link.attr('target') || '_self';
    
        if (href) {
          window.open(href, target);
        }
      });
    });
  • ラベル
    CSSを追加

    以下のコードをstyle.cssに追加します。

    .my-link:has(a) {
      cursor: pointer;
    }
    
    .my-link a {
      color: unset;
      pointer-events: none;
      text-decoration: none;
    }

さいごに

今回紹介した方法を使えば、「カラム」や「グループ」全体にリンクを適用することができます。
これにより、複数の段落をまとめてリンクにする際に、HTMLやカスタムHTMLブロックを使う必要がなく、より簡単にリンクを適用することができます。

タイトルとURLをコピーしました