はじめに

WordPress 6.8から、「詳細」ブロックにname属性を指定できるようになりました(図1参照)。
同じグループに属する「詳細」ブロックには、同一のname属性を入力すると、クリックした1つだけを開き、他を閉じるようになります。
この仕組みを利用して、「詳細」ブロックを活用し、特定の表示動作を実現します。
この記事では、この方法について説明します。
「アコーディオン(トグル)」ブロック風
完成イメージ
ホワイトスネイク
生物の記憶とスタンド能力を、CDのような形状の「DISC」にして取り出す、能力を持つ。
C-MOON
ホワイトスネイクと、緑色の赤ちゃんが融合してできたスタンド。半径約3km以内にある物体の重力の方向を、本体のプッチ神父を中心に、逆転させる能力を持つ。
メイド・イン・ヘブン
C-MOONが進化したスタンド。全世界の時を、加速させる能力を持つ。
実装手順
スキンのデザインに合わせるため、以下のコードをstyle.cssに追加します。
- ラベルGutenbergエディターでの設定

Gutenbergエディター 以下の手順で設定します。
- 「詳細」ブロックを選択し、高度な設定→name属性に例えば
a1と入力します。 - 「詳細」ブロック内の各ブロックをグループ化します。
- グループ全体に対して、高度な設定→追加CSSクラスに
details-contentと入力します。 - 複数の「詳細」ブロックをグループ化し、高度な設定→追加CSSクラスに
my-accordionと入力します。
- 「詳細」ブロックを選択し、高度な設定→name属性に例えば
- ラベルCSSを追加
以下のコードをstyle.cssに追加します。
/* Safari */ summary::-webkit-details-marker { display: none; } .my-accordion { details { border: 1px solid #ccc; margin-bottom: 30px; &[open] { summary::after { content: '\f106'; } } } summary { background-color: #ccc; font-weight: bold; list-style: none; padding: 15px calc(15px + 1em) 15px 15px; position: relative; &::after { align-items: center; content: '\f107'; display: flex; font-family: 'Font Awesome 5 Free'; font-weight: 900; height: 100%; position: absolute; right: 1em; top: 0; } } .details-content { padding: 15px; } }
「タイムライン」ブロック風
完成イメージ
ホワイトスネイク
生物の記憶とスタンド能力を、CDのような形状の「DISC」にして取り出す、能力を持つ。
C-MOON
ホワイトスネイクと、緑色の赤ちゃんが融合してできたスタンド。半径約3km以内にある物体の重力の方向を、本体のプッチ神父を中心に、逆転させる能力を持つ。
メイド・イン・ヘブン
C-MOONが進化したスタンド。全世界の時を、加速させる能力を持つ。
実装手順
スキンのデザインに合わせるため、以下のコードをstyle.cssに追加します。
- ラベルGutenbergエディターでの設定

Gutenbergエディター 以下の手順で設定します。
- 「詳細」ブロックを選択し、高度な設定→name属性に例えば
t1と入力します。 - 「詳細」ブロック内の各ブロックをグループ化します。
- グループ全体に対して、高度な設定→追加CSSクラスに
details-contentと入力します。 - 複数の「詳細」ブロックをグループ化し、高度な設定→追加CSSクラスに
my-timelineと入力します。
- 「詳細」ブロックを選択し、高度な設定→name属性に例えば
- ラベルCSSを追加
以下のコードをstyle.cssに追加します。
/* Safari */ summary::-webkit-details-marker { display: none; } .my-timeline { details { padding-bottom: 15px; position: relative; &:last-of-type { padding: 0; } &::before { background-color: #eee; content: ""; display: block; height: 100%; left: 7px; position: absolute; top: 0; width: 3px; z-index: -1; } &::after { background-color: #ff0000; border-radius: 100%; content: ""; display: block; height: 16px; left: 0; position: absolute; top: 7px; width: 16px; } } summary { font-weight: bold; list-style: none; padding-left: 25px; } .details-content { padding: 0 0 0 25px; } }
さいごに
今回紹介した方法を使えば、「詳細」ブロックを活用して、「アコーディオン(トグル)」ブロック風や「タイムライン」ブロック風のUIを簡単に実現できます。
特にWordPress 6.8以降の新機能であるname属性を活用することで、ユーザーの利便性も高まります。
なお、WordPress 6.9からは標準の「アコーディオン」ブロックが追加されれました。



