お問い合わせ

SWELLカスタマイズ|FAQブロックの項目を見出しH3に変更する

SWELLのFAQブロックはdlタグで出力されます。

FAQブロックの各質問を見出しのH3とかにしたら便利そうですよね、という記事がありました。

元記事:https://motoki-design.co.jp/wordpress-customize/blog/swell-faq-h3/

the_contentフィルターフックを使って、FAQブロックのHTMLを見出しタグに置換するという内容です。

以前、FAQブロックの構造化データ出力のON・OFFを一括で行うという記事を書いた時には、FAQブロックのrender_blockフックを使ってカスタマイズを行いました。

ブロックのカスタマイズの場合は、ブロックを使う時だけ呼び出されるrender_blockフックを使う方が無駄がないのでは?と思いました。

この記事では、FAQブロックの質問をH3等の見出しに置き換えるカスタマイズをご紹介します。

この記事の内容

FAQブロックの項目を見出しH3に変更するカスタマイズの内容

add_filter( 'render_block_loos/faq', function($block_content, $block){

$content = str_replace('<dt class="faq_q">', '<h3><dt class="faq_q">', $block_content);
  $content = str_replace('</dt>', '</dt></h3>', $content);
  return $content;
}, 20, 2 );
.swell-block-faq h3 {
    padding: 0;
    margin: 0;
    font-size: 1em;
}
@media (min-width: 600px) {
    .swell-block-faq h3 {
        font-size: 1em;
    }
}
.swell-block-faq h3::before {
    background: none;
}
見出しのテストです。

答えです。

まとめ:FAQブロックの項目を見出しH3に変更する

カスタマイズそのものは、前回の記事(SWELLのFAQブロックのJSON-LD出力を一括でONにする)と参考サイトの記事を組み合わせれば、簡単にできました。

しかし、見出しがH3固定になってしまうのはどうなのかな?と思いました。

SWELLのFAQブロックの設定として見出し出力のON/OFFと、見出しの種類を選べるようになればいいのかもしれませんが、それはそれで設定項目が増えますし、過去記事のFAQブロックはどうするんだ!という話になり、構造化データ出力と同じ問題が発生します。

もし、個別に見出し出力のON/OFFと種類を指定できるカスタマイズをするなら、FAQブロックの高度な設定のCSSでパラメータを渡してあげて、カスタマイズコード内で条件判定するのが一番簡単だとおもいます。

$block['attrs']['className']に追加したclass名が渡されてきますので、reder_block内部で判定できます。

 ["attrs"]=>
  array(2) {
    ["outputJsonLd"]=>
    bool(true)
    ["className"]=>
    string(3) "AAA"
  }

追加CSSから動作を変更するカスタマイズについては、以下の記事で取り扱っています。

役に立ったら他の人にもシェア!
  • URLをコピーしました!
  • URLをコピーしました!
コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

この記事の内容