Amazonで商品を見る セール会場へ

SWELL│テーマ全機能リファレンス|ブロック・フック・設定の一覧

AIにコードを書かせるとき、テーマの中身を知らないまま進むと的外れな答えが返ってきます。

「SWELLのふきだしを出して」と頼んでも、ブロックの名前が loos/balloon だと知らなければ書けません。

そこで SWELL 2.19.0 を解析して、外から呼べるものを全部一覧にしました

この記事をそのままAIに渡せば、テーマの輪郭を把握させられます。

種類
ブロック32種
ショートコード21種
アクションフック4種
フィルターフック76種
テーマ設定538項目(43群)
記事ごとの設定32種
CSS変数58種
テンプレート部品54個

数え方は記事の最後に書いています。

テーマのソースコードは載せていません。ここに並べたのは、外から呼ぶための名前だけです。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

ブロック(32種)

SWELLが追加するブロックです。

接頭辞はすべて loos/ です。本文のHTMLでは <!-- wp:loos/balloon --> の形で入ります。

ブロック名表示名属性の数
loos/ab-testABテスト3
loos/accordionアコーディオン3
loos/ad-tag広告タグ2
loos/balloonふきだし12
loos/banner-linkバナーリンク20
loos/blog-partsブログパーツ3
loos/box-menuボックスメニュー10
loos/buttonSWELLボタン16
loos/cap-blockキャプションボックス5
loos/columnsリッチカラム7
loos/dl説明リスト(DL)1
loos/faqFAQ5
loos/full-wideフルワイド18
loos/link-listリンクリスト9
loos/post-link関連記事17
loos/post-list投稿リスト34
loos/restricted-area制限エリア11
loos/review商品レビュー13
loos/rssRSS14
loos/stepステップ6
loos/tabタブ8

親の中でしか使えないもの

次のブロックは、単体では置けません。

ブロック名表示名
loos/ab-test-aAブロックloos/ab-test
loos/ab-test-bBブロックloos/ab-test
loos/accordion-item項目loos/accordion
loos/box-menu-itemリンクボックスloos/box-menu
loos/columnカラム項目loos/columns
loos/dd項目の説明(DD)loos/dl
loos/dt項目のタイトル(DT)loos/dl
loos/faq-item項目loos/faq
loos/link-list-itemリンクリスト項目loos/link-list
loos/step-itemステップ項目loos/step
loos/tab-bodyタブコンテンツloos/tab

AIにブロックを書かせるときは、親子の関係を先に伝えないと入れ子が壊れます

ショートコード(21種)

日本語名と英語名の両方が登録されているものがあります。

どちらで書いても同じ動きです。

ショートコード日本語名
[ad]
[ad_tag]
[blog_parts][ブログパーツ]
[custom_banner][カスタムバナー]
[full_wide_content]
[html]
[icon][アイコン]
[only_login]
[only_logout]
[pcbr]
[post_link]
[post_list]
[pr_notation]
[review_stars]
[spbr]
[speech_balloon][ふきだし]
[swell_toc]

フック

テーマの動きを外から変える口です。

子テーマの functions.php かコードスニペットに書きます。

アクション(4種)

アクションは4つしかありません。出力を差し込める場所は限られています。

フック名場所
swell_after_copyrightparts/footer/footer_contents.php
swell_before_post_headsingle.php
swell_before_post_thumbsingle.php
swell_inner_main_visualparts/top/main_visual.php

フィルター(76種)

値を書き換える口です。用途ごとに分けて並べます。

構造化データ(JSON-LD)(7種)

  • swell_json_ld
  • swell_json_ld__article
  • swell_json_ld__author
  • swell_json_ld__collectionpage
  • swell_json_ld__organization
  • swell_json_ld__webpage
  • swell_json_ld__website

表示する・しないの判定(8種)

  • swell_is_separate_css
  • swell_is_show_comments
  • swell_is_show_index
  • swell_is_show_page_links
  • swell_is_show_pickup_banner
  • swell_is_show_sidebar
  • swell_is_show_toc_ad
  • swell_is_show_ttltop

部品の差し替え(7種)

  • swell_parts_catchphrase
  • swell_parts_head_logo
  • swell_parts_page_title
  • swell_parts_post_thumbnail
  • swell_parts_scroll_arrow
  • swell_parts_term_title
  • swell_parts_toc_ad

投稿リスト・関連記事(11種)

  • swell_is_show_pickup_banner
  • swell_pickup_post_args
  • swell_post_list_404_text
  • swell_post_list_cat_data
  • swell_post_list_type_on_archive
  • swell_post_list_type_on_author
  • swell_post_list_type_on_search
  • swell_post_list_type_on_term
  • swell_related_post_404_text
  • swell_related_post_args
  • swell_related_post_maxnum

取得するデータ(8種)

  • swell_get_archive_data
  • swell_get_search_terms_status
  • swell_get_search_title
  • swell_get_sns_cta_data
  • swell_get_svg
  • swell_get_tax_of_post_type
  • swell_get_the_term_links
  • swell_get_the_terms_data

遅延読み込み(7種)

  • swell_delay_js_list
  • swell_delay_js_prevent_pages
  • swell_mv_single_lazy_off
  • swell_post_slider_lazy_off
  • swell_post_thumbnail_lazy_off
  • swell_term_thumbnail_lazy_off
  • swell_top_area_lazy_off

タグの属性(6種)

  • swell_body_attrs
  • swell_content_attrs
  • swell_frame_class
  • swell_lp_content_attrs
  • swell_post_content_class
  • swell_root_attrs

その他(23種)

  • swell_blocks_rss_cache_time
  • swell_breadcrumb_list_data
  • swell_code_meta_screens
  • swell_custom_format_sets
  • swell_custom_formats
  • swell_do_blog_parts
  • swell_head_logo
  • swell_head_logo_sizes
  • swell_head_logo_top
  • swell_hide_fse_blocks
  • swell_infobar_data
  • swell_pager_range
  • swell_posts_404_text
  • swell_remove_url_to_card
  • swell_searchform_placeholder
  • swell_show_term_navigation
  • swell_side_meta_screens
  • swell_sns_cta_message
  • swell_table_scroll_hint
  • swell_term_meta_screens
  • swell_toc_target
  • swell_twitter_to_x
  • swell_update_json_name

使い方は普通のWordPressのフィルターと同じです。

// 目次を出すかどうかを、記事ごとに決める
add_filter( 'swell_is_show_index', function ( $show ) {
	if ( is_page() ) { return false; }   // 固定ページでは出さない
	return $show;
} );

// パンくずの中身を書き換える
add_filter( 'swell_breadcrumb_list_data', function ( $list ) {
	return $list;
} );

テーマ設定(538項目)

管理画面のスイッチの実体です。

43つの群に分かれています。

項目数
投稿ページ設定76
各スライド65
ヘッダー設定40
デザイン・レイアウト設定30
記事スライダー設定25
footer23
投稿リスト22
カラー設定21
SWELL機能の停止19
カスタムセット14
動画14
SNS13
CORE機能の停止12
アイコンボックスカラー12
ボタン11
メインビジュアル設定11
ふきだしカラーセット10
スライダー設定9
カラーパレット8
タブ切り替え8

読むときは SWELL_Theme::get_setting( 'キー名' ) を使います。

$setting = SWELL_Theme::get_setting();      // 全部まとめて
$show    = SWELL_Theme::get_setting( 'show_toc' );  // 1つだけ

停止できる機能が31あります。WordPress本体の出力を止めるものが12、SWELLの機能を止めるものが19です。

速度を詰めるときは、まずここを見ます。

記事ごとの設定(32種)

投稿ごとに持つ設定です。

REST APIには出ていません。外から書き換えるには register_post_meta で公開する必要があります。

メタキー中身
swell_meta_cssその記事だけのCSS
swell_meta_jsその記事だけのJS
swell_meta_show_index目次を出すか
swell_meta_show_related関連記事を出すか
swell_meta_hide_sharebtnシェアボタンを隠すか
swell_meta_hide_autoad自動広告を止めるか
swell_btn_cv_dataボタンのクリック計測
lp_use_swell_headerLPでヘッダーを使うか

全部で次のとおりです。

  • lp_body_style
  • lp_content_width
  • lp_thumb_pos
  • lp_title_pos
  • lp_use_swell_footer
  • lp_use_swell_header
  • lp_use_swell_style
  • swell_btn_cv_data
  • swell_meta_css
  • swell_meta_css_plane
  • swell_meta_hide_autoad
  • swell_meta_hide_before_index
  • swell_meta_hide_sharebtn
  • swell_meta_hide_widget_cta
  • swell_meta_js
  • swell_meta_js_plane
  • swell_meta_no_mb
  • swell_meta_related_posts
  • swell_meta_show_author
  • swell_meta_show_comments
  • swell_meta_show_index
  • swell_meta_show_pickbnr
  • swell_meta_show_pr_notation
  • swell_meta_show_related
  • swell_meta_show_sidebar
  • swell_meta_show_thumb
  • swell_meta_subttl
  • swell_meta_thumb_caption
  • swell_meta_toc_target
  • swell_meta_ttl_pos
  • swell_meta_ttlbg
  • swell_meta_youtube

CSS変数(58種)

余白や幅を外から上書きするときの鍵です。

接頭辞は --swl- です。

変数使われている回数
--swl-minwidth-cell24
--swl-fw_inner_pad18
--swl-list-padding--left13
--swl-mediatext--space12
--swl-mediatext--gap12
--swl-mediatext--offsetX12
--swl-clmn-pddng12
--swl-faq_icon_radius12
--swl-pad_container10
--swl-sidebar_width9
--swl-sidebar_margin9
--swl-list-padding--has_bg9
--swl-clmn-mrgn--y8
--swl-dt-width8
--swl-pad_lp_post8
--swl-cell1-width7
--swl-fz--root7
--swl-fz--side7

たとえば表のセルの最低幅は、この変数で決まっています。

:root {
	--swl-minwidth-cell: 8em;   /* 表のセルの最低幅 */
	--swl-pad_container: 16px;  /* 外側の余白 */
}

テンプレート部品(54個)

parts/ の中にあります。

子テーマに同じ場所・同じ名前で置けば、差し替えられます。

場所主な部品
parts/header/fix_headerhead_barheader_contentsinfo_barsp_btnssp_head_navsp_menu
parts/footer/before_footerfix_btnsfix_menufoot_widgetfooter_contentsmodals
parts/post_list/infeed_addatepaginationrss_metathumbloop_by_sliderloop_by_widgetloop_main

AIに渡すときの書き方

そのまま貼るより、何をしたいかと一緒に渡すほうが精度が上がります。

当方が使っている頼み方です。

前提:WordPressテーマ SWELL 2.19.0
ブロックの接頭辞は loos/ (例:loos/balloon, loos/step, loos/faq)
親子のあるブロック:
  loos/step → loos/step-item
  loos/faq → loos/faq-item
  loos/columns → loos/column
  loos/accordion → loos/accordion-item
  loos/tab → loos/tab-body
  loos/dl → loos/dt, loos/dd
  loos/box-menu → loos/box-menu-item
  loos/link-list → loos/link-list-item
  loos/ab-test → loos/ab-test-a, loos/ab-test-b
設定の読み出し:SWELL_Theme::get_setting( 'キー' )
フィルターの接頭辞:swell_
アクションは4つだけ:swell_after_copyright / swell_before_post_head /
  swell_before_post_thumb / swell_inner_main_visual

やりたいこと:(ここに書く)

親子の関係を書いておくのが効きます。

これを渡さないと、loos/step の中に段落を直接入れるような壊れたHTMLが返ってきます。

この記事の数え方

配布ファイルを展開して、機械で数えました。

  • ブロックは block.json から。srcbuild に同じものがあるので重複を除いています
  • フックは do_actionapply_filters の呼び出しから。同梱の更新確認ライブラリぶんは除いています(テーマの機能ではないため)
  • テーマ設定は classes/Data/Default_Settings.php の初期値一覧から
  • CSS変数は --swl- で始まるものを数えました

対象は SWELL 2.19.0 です。

バージョンが上がると増減しますので、使うときはお手元のバージョンを確かめてください

まとめ

SWELLは、ブロックが32種、フックが80種あります。

アクションが4つしかないのが特徴で、出力を差し込むより、フィルターで値を書き換える設計になっています。

AIに書かせるときは、ブロックの親子関係とフィルターの接頭辞を先に渡すと外しません。

テーマの設定そのものについては、SWELL│デザイン設定のまとめもあわせてご覧ください。

  • URLをコピーしました!

実装を任せたい方へ

SWELLのカスタマイズ代行

記事のコードをそのまま使うのが不安な場合や、サイトに合わせた調整が必要な場合は当社が実装します。1時間 ¥8,000〜(税込)。テーマ更新に強い書き方で納品します。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次