SWELL│最新版!アクションフック・フィルターフック79個全まとめ
SWELL│最新版!アクションフック・フィルターフック79個全まとめ 2025 5/28 SWELLカスタマイズ 2022.04.112025.05.28SWELLでカスタマイズをするときに欠かせないのがアクションフックとフィルターフックです。
開発者が事前に、指定箇所が変更ができるようにフックをたくさん仕込んでおり、それを利用して上書きしてSWELLをカスタマイズできます。
WordPressのカスタマイズでよく使うので、一度SWELLのフックを全て洗い出してみました。
ちなみにSWELLはフックだけでなく関数も上書きできます。
詳細は下記に記事にて
あわせて読みたい SWELL│上書きできる関数・コードまとめ38選 SWELLはさまざまなフックが用意されていて、カスタマイズが容易です。 しかし使われている関数のコードも実は上書きできるので、さらに細かいカスタマイズも可能です。 … 目次著者
motokiWordPressのカスタマイズに困ったらご相談ください!
MOTOKI合同会社 カスタマイズの依頼・相談アクションフック・フィルターフックの使い方
先に簡潔にアクションフック・フィルターフックについて説明します。
アクションフックフィルターフック特定のイベントが発生したときに何かを実行するために使用データを加工するために使用し、加工されたデータを返却する例: 投稿が公開されたときにメールを送信する例: 投稿の内容を加工する関数: do_action() でトリガー、add_action() で登録関数: apply_filters() でトリガー、add_filter() で登録戻り値: なし戻り値: 加工されたデータ アクションフック・フィルターフックの書き方の例まず下記の場所にアクションフックまたはフィルターフックを記載したPHPのコードを記載します。
WordPressの管理画面 > 外観 > テーマファイルエディター > functions.php
アクションフック例
function motoki_example1(){ echo '<!-- テスト! -->'; } add_action( 'wp_head', 'motoki_example1',999 );フィルターフック例
function motoki_example2($tmp){ $tmp = '<!-- テスト! -->'; return $tmp; } add_filter( 'wp_head', 'motoki_example2',999 );アクションフックとフィルターフック違いとして実行するタイミングが違うという点があります。
そしてフィルターフックには値を受け渡しできるという利点もあります。
フックを使ってコンテンツを挿入する場所まとめよく使うフックをまとめました。
あわせて読みたい SWELL│フックを使ってコンテンツを挿入する場所まとめ SWELLのテーマにはフックがたくさん用意されているのが、良い点です。 他のWordPressのテーマだと子テーマを入れて、テンプレートを上書きするところを、フックでコード…SWELLのアクションフック・フィルターフック79個全まとめ
まずはSWELLで設定されているアクションフック・フィルターフックを全て調べてリスト化してみました。
SWELLのフックの調べ方SWELLのフックを調べるのは簡単です。
String Locatorというプラグインを使って、テーマ内のコードを検索します。
正規表現も使うことができるので非常に便利なのでおすすめです。
今回は検索をかけてSWELL用に仕込まれているフックをすべて洗い出してみました。
以下、検索で洗い出したSWELLのフックをまとめています。
SWELLのアクションフック 全4個SWELLのアクションフックはdo_action( 'swell_と記載されています。
フック名ファイルの場所swell_after_copyrightwp-content/themes/swell/parts/footer/footer_contents.phpswell_inner_main_visualwp-content/themes/swell/parts/top/main_visual.phpswell_before_post_headwp-content/themes/swell/single.phpswell_before_post_thumbwp-content/themes/swell/single.php SWELLのフィルターフック 全75個SWELLのフィルターフックはapply_filters( 'swellと記載されています。
フック名ファイルの場所swell_post_content_classwp-content/themes/swell/tmp/front.phpswell_post_list_type_on_archivewp-content/themes/swell/archive.phpswell_post_list_type_on_termwp-content/themes/swell/archive-term.phpswell_breadcrumb_list_datawp-content/themes/swell/parts/breadcrumb.phpswell_mv_single_lazy_offwp-content/themes/swell/parts/archive/term_head.phpswell_term_thumbnail_lazy_offwp-content/themes/swell/parts/archive/term_head.phpswell_post_slider_lazy_offwp-content/themes/swell/parts/top/post_slider.phpswell_infobar_datawp-content/themes/swell/parts/header/info_bar.phpswell_pickup_post_argswp-content/themes/swell/parts/post_list/loop_by_slider.phpswell_post_list_404_textwp-content/themes/swell/parts/post_list/loop_main.phpswell_posts_404_textwp-content/themes/swell/parts/post_list/loop_sub.phpswell_twitter_to_xwp-content/themes/swell/parts/icon_list.phpswell_top_area_lazy_offwp-content/themes/swell/parts/top_title_area.phpswell_sns_cta_messagewp-content/themes/swell/parts/single/sns_cta.phpswell_related_post_maxnumwp-content/themes/swell/parts/single/related_post_list.phpswell_related_post_argswp-content/themes/swell/parts/single/related_post_list.phpswell_related_post_404_textwp-content/themes/swell/parts/single/related_post_list.phpswell_post_list_type_on_searchwp-content/themes/swell/search.phpswell_post_list_cat_datawp-content/themes/swell/classes/SWELL_THEME/Parts/Post_List.phpswell_json_ld__organizationwp-content/themes/swell/classes/Json_Ld.phpswell_json_ld__websitewp-content/themes/swell/classes/Json_Ld.phpswell_json_ld__webpagewp-content/themes/swell/classes/Json_Ld.phpswell_json_ld__collectionpagewp-content/themes/swell/classes/Json_Ld.phpswell_json_ld__articlewp-content/themes/swell/classes/Json_Ld.phpswell_json_ld__authorwp-content/themes/swell/classes/Json_Ld.phpswell_json_ldwp-content/themes/swell/classes/Json_Ld.phpswell_get_the_term_linkswp-content/themes/swell/classes/SWELL_FUNC.phpswell_parts_catchphrasewp-content/themes/swell/classes/SWELL_PARTS.phpswell_parts_head_logowp-content/themes/swell/classes/SWELL_PARTS.phpswell_parts_page_titlewp-content/themes/swell/classes/SWELL_PARTS.phpswell_parts_term_titlewp-content/themes/swell/classes/SWELL_PARTS.phpswell_post_thumbnail_lazy_offwp-content/themes/swell/classes/SWELL_PARTS.phpswell_parts_post_thumbnailwp-content/themes/swell/classes/SWELL_PARTS.phpswell_parts_scroll_arrowwp-content/themes/swell/classes/SWELL_PARTS.phpswell_show_term_navigationwp-content/themes/swell/classes/SWELL_PARTS.phpswell_do_blog_partswp-content/themes/swell/classes/Utility/Parts.phpswell_frame_classwp-content/themes/swell/classes/Utility/Get.phpswell_get_archive_datawp-content/themes/swell/classes/Utility/Get.phpswell_get_the_terms_datawp-content/themes/swell/classes/Utility/Get.phpswell_get_sns_cta_datawp-content/themes/swell/classes/Utility/Get.phpswell_get_search_titlewp-content/themes/swell/classes/Utility/Get.phpswell_get_tax_of_post_typewp-content/themes/swell/classes/Utility/Get.phpswell_get_search_terms_statuswp-content/themes/swell/classes/Utility/Get.phpswell_is_show_ttltopwp-content/themes/swell/classes/Utility/Status.phpswell_is_show_indexwp-content/themes/swell/classes/Utility/Status.phpswell_is_show_toc_adwp-content/themes/swell/classes/Utility/Status.phpswell_is_show_sidebarwp-content/themes/swell/classes/Utility/Status.phpswell_is_show_commentswp-content/themes/swell/classes/Utility/Status.phpswell_is_show_pickup_bannerwp-content/themes/swell/classes/Utility/Status.phpswell_is_show_page_linkswp-content/themes/swell/classes/Utility/Status.phpswell_is_separate_csswp-content/themes/swell/classes/Utility/Status.phpswell_root_attrswp-content/themes/swell/classes/Utility/Attrs.phpswell_body_attrswp-content/themes/swell/classes/Utility/Attrs.phpswell_content_attrswp-content/themes/swell/classes/Utility/Attrs.phpswell_lp_content_attrswp-content/themes/swell/classes/Utility/Attrs.phpswell_update_json_namewp-content/themes/swell/classes/Utility/Others.phpswell_remove_url_to_cardwp-content/themes/swell/lib/content_filter.phpswell_delay_js_prevent_pageswp-content/themes/swell/lib/rewrite_html.phpswell_delay_js_listwp-content/themes/swell/lib/rewrite_html.phpswell_table_scroll_hintwp-content/themes/swell/lib/gutenberg/render_hook/core_table.phpswell_blocks_rss_cache_timewp-content/themes/swell/lib/gutenberg/block/rss.phpswell_side_meta_screenswp-content/themes/swell/lib/post_meta/meta_side.phpswell_code_meta_screenswp-content/themes/swell/lib/post_meta/meta_code.phpswell_hide_fse_blockswp-content/themes/swell/lib/load/block_assets.phpswell_custom_formatswp-content/themes/swell/lib/load/admin.phpswell_custom_format_setswp-content/themes/swell/lib/load/admin.phpswell_toc_targetwp-content/themes/swell/lib/load/front.phpswell_term_meta_screenswp-content/themes/swell/lib/term_meta.phpswell_head_logowp-content/themes/swell/lib/pluggable_parts/header_parts.phpswell_head_logo_topwp-content/themes/swell/lib/pluggable_parts/header_parts.phpswell_head_logo_sizeswp-content/themes/swell/lib/pluggable_parts/header_parts.phpSWELLのアクションフックの解説
まずは数少ないSWELLのアクションフックから解説していきます。
swell_after_copyrightこのフックは、ウェブサイトのフッターにあるコピーライト情報の直後に、追加のコンテンツや情報を挿入するために使用されます。
このフックを利用することで、コピーライト情報の後に任意のテキスト、リンク、画像などを簡単に追加できます。
add_action( 'swell_after_copyright', function() { echo '<div>© 2024 MOTOKI LLC. All Rights Reserved. | <a href="https://example.com/privacy-policy">Privacy Policy</a></div>'; }); あわせて読みたい SWELL│フッターにロゴを入れる方法 No such custom field あわせて読みたい SWELL│コピーライト上にコンテンツを表示するカスタマイズ フッターのウィジェットとは別に、コピーライト上にコンテンツを表示したいことはないでしょうか? 実はSWELLで用意されているフックを使って、ブログパーツを挿入する… swell_inner_main_visualこのフックは、メインビジュアルの内部にカスタムコンテンツを挿入するために使用されます。
このフックを利用することで、メインビジュアルの中に任意のテキスト、画像、スライダーなどを簡単に追加できます。
また$post_id パラメータを利用することで、特定の投稿に対してのみカスタムテキストを表示することも可能です。
以下の状態は表示されないので注意!
- メインビジュアルが表示しないの場合
- メインビジュアルの高さがウィンドウにフィットさせるの場合
このフックは、投稿またはページのヘッダー(タイトルやメタ情報のセクション)が表示される直前に使用されます
これを利用して、投稿のヘッドセクションの前にカスタムコンテンツや広告、注意書きなどを挿入できます。
$post_id パラメータを利用することで、特定の投稿に対してのみカスタムテキストを表示することも可能です。
add_action( 'swell_before_post_head', function( $post_id ) { echo '<div class="custom-text">これは投稿ヘッダーの前のカスタム テキストです。投稿ID: ' . esc_html( $post_id ) . '</div>'; });上記のコードは投稿のヘッダーの前に「これは投稿ヘッダーの前のカスタム テキストです。投稿ID: [投稿ID]」というカスタムテキストが追加されます。
あわせて読みたい SWELL│タイトル上にアイキャッチ画像を表示する方法 SWELLではタイトルの下にアイキャッチ画像が表示されます。 デザインを差別化するにあたって、逆の順序にしたいことはないでしょうか? 本記事ではSWELLでタイトル上に… swell_before_post_thumbこのフックは、投稿またはページのアイキャッチ画像が表示される直前に使用されます。
これを利用して、アイキャッチ画像の前にカスタムコンテンツや広告、注釈などを挿入できます。
add_action( 'swell_before_post_thumb', function( $post_id ) { echo '<div class="custom-text">これは投稿のサムネイルの前にあるカスタム テキストです。投稿ID: ' . esc_html( $post_id ) . '</div>'; });上記のコードは投稿のヘッダーの前に「これは投稿のサムネイルの前にあるカスタム テキストです。投稿ID: [投稿ID]」というカスタムテキストが追加されます。
SWELLのフィルターフックの解説
続いてSWELLのフィルターフックの解説です。
かなりボリュームがあります。
構造化データ関連
swell_json_ldこのフィルターフックは、SWELL テーマで生成されるすべての JSON-LD データを操作するために使用されます。
デフォルトでは、WebSite、WebPage、Article、Organization、BreadcrumbList などの JSON-LD データが生成されますが、このフックを利用して追加のデータを追加したり、既存のデータを変更したりすることができます。
add_filter( 'swell_json_ld', function( $json_lds ) { // カスタムデータを追加 $json_lds['CustomData'] = [ '@type' => 'Thing', 'name' => 'Custom Name', 'description' => 'This is a custom description.', ]; return $json_lds; } ); あわせて読みたい SWELL│構造化データを追加・上書きする方法 SEO対策のためにWordPressに構造化データを追加したい。 構造化データとは、 Webページの構造をGoogleに分かりやすく伝えるためコードのことです。 EATが重視される昨今… swell_json_ld__articleこのフィルターフックは、SWELL テーマで Article の JSON-LD データを出力する際に使用されます。
デフォルトでは、現在の投稿の基本情報に基づいて Article の情報が生成されますが、このフックを利用して Article 情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__article', function( $data, $post_id ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', $post_id ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; }, 10, 2 ); swell_json_ld__authorこのフィルターフックは、SWELL テーマで Author の JSON-LD データを出力する際に使用されます。
デフォルトでは、現在の著者の基本情報に基づいて Author の情報が生成されますが、このフックを利用して Author 情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__author', function( $data, $author_id ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', 'user_' . $author_id ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; }, 10, 2 ); swell_json_ld__collectionpageこのフィルターフックは、SWELL テーマで CollectionPage の JSON-LD データを出力する際に使用されます。
デフォルトでは、現在のページの基本情報に基づいて CollectionPage の情報が生成されますが、このフックを利用して CollectionPage 情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__collectionpage', function( $data ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', get_queried_object_id() ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; } ); swell_json_ld__organizationこのフィルターフックは、SWELL テーマで組織 (Organization) の JSON-LD データを出力する際に使用されます。
デフォルトでは、サイトの設定に基づいて組織の情報が生成されますが、このフックを利用して組織情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__organization', function( $data ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', 'option' ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; } ); swell_json_ld__webpageこのフィルターフックは、SWELL テーマで WebPage の JSON-LD データを出力する際に使用されます。
デフォルトでは、現在のページの基本情報に基づいて WebPage の情報が生成されますが、このフックを利用して WebPage 情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__webpage', function( $data ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', get_the_ID() ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; } ); swell_json_ld__websiteこのフィルターフックは、SWELL テーマで WebSite の JSON-LD データを出力する際に使用されます。
デフォルトでは、サイトの基本情報に基づいて WebSite の情報が生成されますが、このフックを利用して WebSite 情報をカスタマイズすることができます。
add_filter( 'swell_json_ld__website', function( $data ) { // カスタムフィールドから追加情報を取得 $additional_info = get_field( 'additional_info', 'option' ); // 追加情報があればデータに追加 if ( $additional_info ) { $data['additionalProperty'] = [ '@type' => 'PropertyValue', 'name' => 'Additional Information', 'value' => $additional_info, ]; } return $data; } );画像関連
swell_mv_single_lazy_offこのフィルターフックは、SWELL テーマでの投稿記事やメインビジュアル(スライダー)の画像の遅延読み込みをオフにするために使用されます。
これを利用して、メインビジュアルの画像の遅延読み込みを無効化することができます。
add_filter( 'swell_mv_single_lazy_off', function( $is_lazy_off ) { // メインビジュアルの画像の遅延読み込みをオフにする $is_lazy_off = true; return $is_lazy_off; }); swell_post_slider_lazy_offこのフィルターフックは、SWELL テーマでのポストスライダーの背景画像の遅延読み込みをオフにするために使用されます。
これを利用して、ポストスライダーの背景画像の遅延読み込みを無効化することができます。
add_filter( 'swell_post_slider_lazy_off', function( $is_lazy_off ) { // ポストスライダーの背景画像の遅延読み込みをオフにする $is_lazy_off = true; return $is_lazy_off; }); あわせて読みたい SWELL│記事スライダーを記事で表示する方法 トップページの目玉機能である記事スライダーを使ったことがありますでしょうか? SWELLのデモサイトでも使われている、記事をスライド表示させる機能ですが、トップペ… swell_post_thumbnail_lazy_offこのフィルターフックは、SWELL テーマ内で定義されている SWELL_PARTS::post_thumbnail メソッド内で使用されます。このメソッドは、投稿のアイキャッチ画像を取得し、表示するために使用されます。
swell_post_thumbnail_lazy_off フィルターフックを使用することで、アイキャッチ画像の遅延読み込み(lazy loading)の動作をカスタマイズすることができます。
add_filter( 'swell_post_thumbnail_lazy_off', '__return_true' ); swell_term_thumbnail_lazy_offこのフィルターフックは、SWELL テーマでのタームアーカイブページに表示されるヘッド部分の画像の遅延読み込みをオフにするために使用されます。
これを利用して、特定の条件下で画像の遅延読み込みを無効化することができます。
add_filter( 'swell_mv_single_lazy_off', function( $is_lazy_off ) { // 特定のタームIDの場合 if ( is_tax( 'カスタムタクソノミー', '特定のタームスラッグ' ) ) { // 遅延読み込みをオフにする $is_lazy_off = true; } return $is_lazy_off; }); swell_top_area_lazy_offこのフィルターフックは、SWELL テーマでのトップエリア(タイトルエリア)の背景画像の遅延読み込み(lazy loading)を制御するために使用されます。
デフォルトでは、背景画像は遅延読み込みが有効になっていますが、このフックを利用して遅延読み込みを無効化することができます。
add_filter( 'swell_top_area_lazy_off', function( $value ) { // トップエリアの背景画像の遅延読み込みを無効化 return true; }); swell_parts_post_thumbnailこのフィルターフックは、SWELL テーマで投稿のアイキャッチ画像を取得する際に使用されます。このフックを利用することで、アイキャッチ画像のHTML構造や属性をカスタマイズすることができます。
add_filter( 'swell_parts_post_thumbnail', function( $html, $post_id, $is_youtube ) { // カスタム投稿タイプ「news」の場合、アイキャッチ画像を非表示にする if ( get_post_type( $post_id ) === 'news' ) { return ''; } // それ以外の場合は通常通りアイキャッチ画像を表示 return $html; }, 10, 3 ); あわせて読みたい SWELL│タイトル上にアイキャッチ画像を表示する方法 SWELLではタイトルの下にアイキャッチ画像が表示されます。 デザインを差別化するにあたって、逆の順序にしたいことはないでしょうか? 本記事ではSWELLでタイトル上に… あわせて読みたい SWELL│特定のカスタム投稿タイプのアイキャッチ画像を非表示にする方法 カスタマイズされたページにブログのようなアイキャッチ画像を表示する必要がない場合があります。 その場合はSWELLのフックを使うと、特定のカスタム投稿タイプに対し…文言・テキスト関連
swell_searchform_placeholderこのフィルターフックは、SWELL テーマでの検索フォームのプレースホルダーテキストを変更するために使用されます。
これを利用して、検索フォームのプレースホルダーに表示されるテキストを動的に変更することができます。
add_filter( 'swell_searchform_placeholder', function( $placeholder ) { // プレースホルダーテキストをカスタマイズ $placeholder = __( '記事を検索する', 'swell' ); return $placeholder; }); swell_breadcrumb_list_dataこのフィルターフックは、SWELL テーマでのパンくずリストのデータを変更するために使用されます。
これを利用して、パンくずリストに表示される項目を動的に変更することができます。
add_filter( 'swell_breadcrumb_list_data', function( $list_data ) { // 特定のカテゴリーのアーカイブページの場合 if ( is_category( '特定のカテゴリースラッグ' ) ) { // パンくずリストのデータをカスタマイズ $list_data[] = [ 'url' => home_url( '/特定のページ/' ), 'name' => '特定のページ', ]; } return $list_data; }); あわせて読みたい SWELL│パンくずの表示を追加するカスタマイズ SWELLで投稿記事の位置を特定の固定記事の階層下にしたい場合があるとします。 ※本サイトもその設定です。 WordPressカスタマイズ(親の固定記事) L ブログ(子の固定… swell_post_list_404_textこのフィルターフックは、SWELL テーマでのメインループ内の投稿リストにおいて、記事が見つからなかった場合に表示されるテキストを変更するために使用されます。
これを利用して、404メッセージの内容を動的に変更することができます。
add_filter( 'swell_post_list_404_text', function( $text ) { // カスタマイズした404メッセージ $custom_message = '申し訳ございません。お探しの記事は見つかりませんでした。'; // フィルターを通してカスタマイズしたメッセージを返す return '<p>' . esc_html( $custom_message ) . '</p>'; }); あわせて読みたい SWELL│検索結果が見つからない時の文言を変える方法│記事が見つかりませんでした。 SWELLの検索結果の404ページは記事が見つかりませんでした。としか表示されないので離脱につながります。 ですので、検索結果が見つからない時の文言を変えたいと思った… swell_posts_404_textこのフィルターフックは、SWELL テーマでサブループの投稿リストを出力する際に、記事が見つからなかった場合に表示されるテキストをカスタマイズするために使用されます。
デフォルトのテキストは「記事が見つかりませんでした。」ですが、このフックを利用してテキストを変更することができます。
add_filter( 'swell_posts_404_text', function( $text ) { return '<p>ご指定の条件に一致する記事はありませんでした。</p>'; }); swell_related_post_404_textこのフィルターフックは、SWELL テーマで関連記事を表示する際に、関連する記事が見つからなかった場合に表示されるテキストをカスタマイズするために使用されます。
デフォルトのテキストは「関連する記事はまだ見つかりませんでした。」ですが、このフックを利用してテキストを変更することができます。
add_filter( 'swell_related_post_404_text', function( $text ) { return '<p>関連記事はありません。</p>'; }); swell_sns_cta_messageこのフィルターフックは、SWELL テーマで記事の下部に表示される SNS の呼びかけメッセージ(CTA)をカスタマイズするために使用されます。
デフォルトでは、”この記事が気に入ったらいいね または フォローしてね!” のようなメッセージが表示されますが、このフックを利用してメッセージの内容を変更することができます。
add_filter( 'swell_sns_cta_message', function( $cta_message ) { // カスタマイズしたメッセージを返す return '<br><i class="icon-thumb_up"></i> 記事を楽しんでいただけたら、シェアしてください!'; }); swell_parts_catchphraseこのフィルターフックは、SWELL テーマで表示されるキャッチフレーズを操作するために使用されます。
デフォルトでは、テーマのカスタマイズ設定で設定されたキャッチフレーズが表示されますが、このフックを利用してキャッチフレーズの内容を動的に変更したり、追加のマークアップを追加したりすることができます。
add_filter( 'swell_parts_catchphrase', function( $catchphrase ) { // 追加したいテキスト $additional_text = ' - Welcome to Our Site!'; // キャッチフレーズにテキストを追加 $catchphrase .= $additional_text; return $catchphrase; } ); swell_parts_page_titleこのフィルターフックは、SWELL テーマで表示されるページタイトルを操作するために使用されます。
デフォルトでは、ページや投稿のタイトルが表示されますが、このフックを利用してタイトルの内容を動的に変更したり、追加のマークアップを追加したりすることができます。
add_filter( 'swell_parts_page_title', function( $title_html, $page_id ) { // 追加したいテキスト $additional_text = ' - Custom Text'; // タイトルにテキストを追加 $title_html .= $additional_text; return $title_html; }, 10, 2 ); swell_parts_term_titleこのフィルターフックは、SWELL テーマで表示されるターム(カテゴリーやタグなど)のタイトルを操作するために使用されます。
デフォルトでは、タームの名前が表示されますが、このフックを利用してタイトルの内容を動的に変更したり、追加のマークアップを追加したりすることができます。
add_filter( 'swell_parts_term_title', function( $title_html, $term_id ) { // 追加したいテキスト $additional_text = ' - Custom Text'; // タイトルにテキストを追加 $title_html .= $additional_text; return $title_html; }, 10, 2 );デザイン・表示設定関連
swell_body_attrsこのフィルターフックは、SWELL テーマで <body> タグに追加する HTML 属性をカスタマイズするために使用されます。
デフォルトでは、この部分には PJAX 対応を示す data-barba="wrapper" 属性が含まれる場合がありますが、フィルターフックを利用して他の属性を追加したり、既存の属性を変更したりすることができます。
add_filter( 'swell_body_attrs', function( $attrs ) { return $attrs . ' data-custom-attr="value"'; // カスタム属性を追加 } ); swell_content_attrsこのフィルターフックは、SWELL テーマでメインコンテンツエリア (#content) に追加する HTML 属性をカスタマイズするために使用されます。
デフォルトでは、この部分には現在の投稿の ID を示す data-postid 属性が含まれますが、フィルターフックを利用して他の属性を追加したり、既存の属性を変更したりすることができます。
add_filter( 'swell_content_attrs', function( $attrs ) { return $attrs . ' data-custom-attr="value"'; // カスタム属性を追加 } ); swell_frame_classこのフィルターフックは、SWELL テーマでフレームのクラスを取得する際に使用されます。
デフォルトでは、コンテンツのフレーム設定や表示範囲などに基づいてクラス名が決定されますが、このフックを利用してクラス名をカスタマイズすることができます。
add_filter( 'swell_frame_class', function( $frame_class ) { // 追加したいクラス名を設定 $additional_class = 'my-custom-frame-class'; // クラス名を追加 $frame_class .= ' ' . $additional_class; return $frame_class; } ); swell_head_logoこのフィルターフックは、SWELL テーマ内で定義されている swl_parts__head_logo 関数内で使用されます。
この関数は、ヘッダーに表示されるロゴのURLを指定するために使用されます。
swell_head_logo フィルターフックを使用することで、ヘッダーロゴのURLをカスタマイズすることができます。
add_filter( 'swell_head_logo', function( $logo_url ) { // カスタムロゴURLを指定する return 'https://example.com/path/to/custom-logo.png'; } ); swell_head_logo_sizesこのフィルターフックは、SWELL テーマ内で定義されている swl_parts__head_logo 関数内で使用されます。
この関数は、ヘッダーに表示されるロゴの画像サイズを指定するために使用されます。
swell_head_logo_sizes フィルターフックを使用することで、ヘッダーロゴの画像サイズをカスタマイズすることができます。
add_filter( 'swell_head_logo_sizes', function( $sizes ) { // カスタム画像サイズを指定する return '(max-width: 600px) 50vw, 300px'; } ); swell_head_logo_topこのフィルターフックは、SWELL テーマ内で定義されている swl_parts__head_logo 関数内で使用されます。
この関数は、トップページのヒーローヘッダーを利用する場合に、ヘッダーの上部に表示されるロゴのURLを指定するために使用されます。
swell_head_logo_top フィルターフックを使用することで、トップページのヘッダーロゴのURLをカスタマイズすることができます。
add_filter( 'swell_head_logo_top', function( $logo_top_url ) { // カスタムロゴURLを指定する return 'https://example.com/path/to/custom-logo-top.png'; } ); あわせて読みたい WordPress│カテゴリーごとにヘッダーのグローバルメニューとフッターの内容を変更する方法 雑記ブログなどのグローバルメニューのラインナップが雑多だと、専門性・特化性が薄れて残念に見えてしまうことがありますよね? そこでヘッダーとフッターの内容をカテ… swell_get_sns_cta_dataこのフィルターフックは、SWELL テーマ内で定義されている SWELL_Theme\Utility\Get::get_sns_cta_data メソッド内で使用されます。
このメソッドは、SNSのCTA(コール・トゥ・アクション)に関するデータを取得するために使用されます。swell_get_sns_cta_data フィルターフックを使用することで、SNSのCTAに関するデータをカスタマイズすることができます。
add_filter( 'swell_get_sns_cta_data', function( $data ) { // Twitterのフォローボタンを非表示にする $data['tw_id'] = ''; // FacebookのいいねボックスのURLを変更する $data['fb_url'] = 'https://www.facebook.com/yourpage'; // InstagramのフォローボタンのIDを変更する $data['insta_id'] = 'yourinstagramid'; return $data; }); swell_is_show_commentsこのフィルターフックは、SWELL テーマで投稿ページにコメントセクションを表示するかどうかを判定するために使用されます。
コメントが許可されているか、コメントが存在する場合にコメントセクションが表示されます。
また、投稿のメタデータやテーマの設定によって表示を制御することもできます。
add_filter( 'swell_is_show_comments', '__return_false' ); swell_is_show_indexこのフィルターフックは、SWELL テーマで投稿ページや固定ページに目次を表示するかどうかを判定するために使用されます。
目次は、ページ内の見出しを自動的に収集してリスト形式で表示する機能です。
このフィルターフックを使用することで、特定の条件下で目次の表示を制御することができます。
add_filter( 'swell_is_show_index', function( $is_show ) { if ( is_single() && has_category( '特定のカテゴリー', get_the_ID() ) ) { return true; // 特定のカテゴリーの投稿ページで目次を表示 } return $is_show; // それ以外のページはデフォルトの設定に従う } ); swell_is_show_page_linksこのフィルターフックは、SWELL テーマで投稿ページの前の記事・次の記事リンクを表示するかどうかを判定するために使用されます。
この機能を有効にすると、投稿ページの下部に前の記事と次の記事へのリンクが表示されます。
add_filter( 'swell_is_show_page_links', '__return_true' ); swell_is_show_pickup_bannerこのフィルターフックは、SWELL テーマでピックアップバナーを表示するかどうかを判定するために使用されます。
この機能を有効にすると、サイトのトップページや指定されたページの上部にピックアップバナーが表示されます。
add_filter( 'swell_is_show_pickup_banner', '__return_true' ); swell_is_show_sidebarこのフィルターフックは、SWELL テーマで各ページにサイドバーを表示するかどうかを判定するために使用されます。
トップページ、LP (ランディングページ)、通常のページ、投稿ページ、アーカイブページ、検索結果ページなど、異なる種類のページに対してサイドバーの表示設定を判定します。
add_filter( 'swell_is_show_sidebar', function( $is_show ) { if ( is_archive() ) { return true; // アーカイブページでサイドバーを表示 } return $is_show; // それ以外のページはデフォルトの設定に従う } ); あわせて読みたい SWELL│特定の条件でサイドバーを表示・非表示にするカスタマイズ SWELLでモバイルファーストを意識してサイドバーを非表示にしたいことがあります。 できればすでに表示されてから非表示にするCSSからではなく、元のテンプレートの設定… swell_is_show_toc_adこのフィルターフックは、SWELL テーマで投稿ページや固定ページに目次広告を表示するかどうかを判定するために使用されます。
目次広告は、サイト運営者が設定した広告を目次の上または下に表示する機能です。このフィルターフックを使用することで、特定の条件下で目次広告の表示を制御することができます。
add_filter( 'swell_is_show_toc_ad', function( $is_show ) { if ( is_single() ) { return true; // 投稿ページで目次広告を表示 } return $is_show; // それ以外のページはデフォルトの設定に従う } ); swell_is_show_ttltopこのフィルターフックは、SWELL テーマでページタイトルをコンテンツの上部に表示するかどうかを判定するために使用されます。
このフィルターフックを使用することで、特定の条件下でページタイトルの表示位置を制御することができます。
add_filter( 'swell_is_show_ttltop', function( $is_show ) { if ( is_single() && has_category( '特定のカテゴリー', get_the_ID() ) ) { return true; // 特定のカテゴリーの投稿ページでページタイトルを上部に表示 } return $is_show; // それ以外のページはデフォルトの設定に従う } ); あわせて読みたい SWELL│特定の記事だけページタイトルを上部に表示する方法│コンテンツ内に表示する方法 SWELLには記事タイトルのデザインは2つあります。 コンテンツ上 コンテンツ内 これらは「投稿・固定ページ」のタイトルから、タイトルの表示位置で変更できます。 しか… swell_lp_content_attrsこのフィルターフックは、SWELL テーマでランディングページのコンテンツ部分 (#lp-content) に追加する HTML 属性をカスタマイズするために使用されます。
デフォルトでは、この部分には現在の投稿の ID を示す data-postid 属性が含まれますが、フィルターフックを利用して他の属性を追加したり、既存の属性を変更したりすることができます。
add_filter( 'swell_lp_content_attrs', function( $attrs ) { return $attrs . ' data-custom-attr="value"'; // カスタム属性を追加 } ); swell_parts_head_logoこのフィルターフックは、SWELL テーマで表示されるヘッダーロゴを操作するために使用されます。
デフォルトでは、テーマのカスタマイズ設定で設定されたロゴ画像またはサイトのタイトルが表示されますが、このフックを利用してロゴの内容を動的に変更したり、追加のマークアップを追加したりすることができます。
add_filter( 'swell_parts_head_logo', function( $logo_html, $is_fixbar ) { // 追加したいクラス $additional_class = 'custom-logo-class'; // ロゴの HTML にクラスを追加 $logo_html = str_replace( 'c-headLogo', 'c-headLogo ' . $additional_class, $logo_html ); return $logo_html; }, 10, 2 ); あわせて読みたい SWELL│トップページのh1をdivに変更するカスタマイズ SWELLでサイトロゴを設定するとトップページのh1が空白になってしまいます。 Chromeの拡張機能「SEO META in 1 CLICK」でページ構造を確認しています。 サイトロゴを使… あわせて読みたい SWELL│リンク付きのキャッチフレーズを挿入する方法 WordPressのカスタマイズからキャッチフレーズにHTMLを入力する場合、 HTMLコードが剥き出しで表示されてしまいます。 そこで以下のカスタマイズをうまく使ってやると、… swell_parts_scroll_arrowこのフィルターフックは、SWELL テーマで表示されるスクロールアローのマークアップを操作するために使用されます。
デフォルトでは、スライダーやビデオセクションの下部に表示される矢印がありますが、このフックを利用してアローのスタイルや動作をカスタマイズすることができます。
add_filter( 'swell_parts_scroll_arrow', function( $arrow_html ) { // 新しい色を設定 $new_color = '#ff0000'; // アローの色を変更 $arrow_html = str_replace( 'currentColor', $new_color, $arrow_html ); return $arrow_html; } ); swell_parts_toc_adこのフィルターフックは、SWELL テーマで目次上部に挿入される広告コードを操作するために使用されます。
デフォルトでは、テーマの設定で指定された広告コードが挿入されますが、このフックを利用して広告コードを動的に変更したり、条件に応じて異なる広告を表示したりすることができます。
add_filter( 'swell_parts_toc_ad', function( $toc_adcode ) { if ( is_single() && has_category( '特定のカテゴリー', get_the_ID() ) ) { // カスタム広告コード $custom_adcode = '<div class="custom-ad">ここにカスタム広告コードを挿入</div>'; return $custom_adcode; } return $toc_adcode; } ); swell_post_content_classこのフィルターフックは、投稿のコンテンツ部分のクラス属性を変更するために使用されます。
これを利用して、コンテンツのスタイルをカスタマイズするための追加のクラスを動的に追加できます。
add_filter( 'swell_post_content_class', function( $class ) { // 追加したいクラスを指定 $additional_class = 'custom-content-class'; // 既存のクラスに追加クラスを追加 $class .= ' ' . $additional_class; return $class; });この例では、投稿のコンテンツ部分に custom-content-class というクラスが追加されます。
swell_root_attrsこのフィルターフックは、SWELL テーマで <html> タグに追加する HTML 属性をカスタマイズするために使用されます。
デフォルトでは、この部分にはページの状態を示すための属性が含まれていますが、フィルターフックを利用して他の属性を追加したり、既存の属性を変更したりすることができます。
add_filter( 'swell_root_attrs', function( $attrs ) { return $attrs . ' data-custom-attr="value"'; // カスタム属性を追加 } ); swell_table_scroll_hintこのフィルターフックは、SWELL テーマでテーブルブロックにスクロールヒントを追加する際に使用されます。
デフォルトでは、スクロールヒントは「スクロールできます <i class=”icon-more_arrow”></i>」というテキストとアイコンで構成されていますが、このフィルターフックを使用してカスタマイズすることができます。
add_filter( 'swell_table_scroll_hint', function( $hint_src ) { return '<div class="c-scrollHint"><span>' . esc_html__( '右にスクロール', 'swell' ) . ' <i class="icon-arrow_right"></i></span></div>'; } ); あわせて読みたい SWELL│テーブルの「スクロールできます」の文言を変更する方法 SWELLのローカライズ(翻訳)で英語サイトを作っているのですが、たまに日本語表記が残ってしまいます。 テーブルのスクロールヒントもその一つです。 通常の表記 スマ… swell_get_svgこのフィルターフックは、SWELL テーマで SVG アイコンを取得する際に使用されます。
デフォルトでは、指定されたアイコン名に応じた SVG パスが返されますが、このフックを利用してカスタム SVG アイコンを返すことができます。
add_filter( 'swell_get_svg', function( $svg, $icon_name, $attrs ) { // カスタマイズしたいアイコン名を指定 if ( 'custom-icon' === $icon_name ) { // カスタム SVG パスを設定 $custom_path = '<path d="..."></path>'; // カスタム SVG を生成 $svg = '<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-custom-icon" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false">' . $custom_path . '</svg>'; } return $svg; }, 10, 3 ); swell_do_blog_partsこのフィルターフックは、SWELL テーマでブログパーツを出力する際に使用されます。
デフォルトでは、SWELL テーマに組み込まれているブログパーツが出力されますが、このフックを利用してカスタムブログパーツを追加したり、既存のブログパーツを変更したりすることができます。
add_filter( 'swell_do_blog_parts', function( $blog_parts ) { // カスタムブログパーツを追加 $blog_parts['custom_part'] = '<div class="custom-blog-part">This is a custom blog part.</div>'; return $blog_parts; } ); swell_show_term_navigationこのフィルターフックは、SWELL テーマでカテゴリーの階層リストを表示するかどうかを制御するために使用されます。
デフォルトでは、テーマの設定に従ってカテゴリーの階層リストが表示されますが、このフックを利用して特定の条件下での表示を制御したり、カスタマイズしたりすることができます。
add_filter( 'swell_show_term_navigation', function( $show_term_navigation, $taxonomy, $term_id ) { // 特定のカテゴリーIDを指定 $specific_category_id = 123; if ( 'category' === $taxonomy && $specific_category_id === $term_id ) { return true; // 階層リストを表示 } return false; // それ以外の場合は階層リストを非表示 }, 10, 3 );パフォーマンス・最適化関連
swell_blocks_rss_cache_timeこのフィルターフックは、SWELL テーマでRSSブロックのキャッシュ時間をカスタマイズするために使用されます。
デフォルトでは、キャッシュ時間は1日( DAY_IN_SECONDS )と設定されていますが、このフィルターフックを使用してキャッシュ時間を変更することができます。
add_filter( 'swell_blocks_rss_cache_time', function( $cache_time, $rss_url ) { return HOUR_IN_SECONDS; // キャッシュ時間を1時間に設定 }, 10, 2 ); swell_delay_js_listこのフィルターフックは、SWELL テーマで JavaScript の遅延読み込みを設定する際に使用されます。
遅延読み込みを適用したい JavaScript ファイルやコードのキーワードをリストとして設定し、このフィルターフックを使用してカスタマイズすることができます。
add_filter( 'swell_delay_js_list', function( $delay_js_list ) { // 「example.js」というキーワードを追加 $delay_js_list[] = 'example.js'; // 「my-script」というキーワードを追加 $delay_js_list[] = 'my-script'; return $delay_js_list; } ); swell_delay_js_prevent_pagesこのフィルターフックは、SWELL テーマで JavaScript の遅延読み込みを設定する際に、遅延読み込みを適用しないページを指定するために使用されます。
遅延読み込みを適用したくないページのURLやキーワードをリストとして設定し、このフィルターフックを使用してカスタマイズすることができます。
add_filter( 'swell_delay_js_prevent_pages', function( $prevent_pages ) { // 「example-page」というURLの一部を持つページを追加 $prevent_pages[] = 'example-page'; // 「contact」というURLの一部を持つページを追加 $prevent_pages[] = 'contact'; return $prevent_pages; } ); swell_hide_fse_blocksこのフィルターフックは、SWELL テーマで Full Site Editing (FSE) 関連のブロックをエディターから非表示にするかどうかを制御するために使用されます。
FSE は WordPress の新機能で、サイト全体の編集をブロックエディターで行うことができるようにするものです。
しかし、FSE を使用しない場合や、特定のブロックを非表示にしたい場合にこのフィルターフックを利用できます。
add_filter( 'swell_hide_fse_blocks', '__return_true' ); swell_infobar_dataこのフィルターフックは、SWELL テーマでのインフォメーションバーに表示されるデータ(URL、テキスト、ボタンテキスト)を変更するために使用されます。
これを利用して、インフォメーションバーに表示される情報を動的に変更することができます。
add_filter( 'swell_infobar_data', function( $info_data ) { // インフォメーションバーのテキストをカスタマイズ $info_data['text'] = '新しいお知らせがあります!'; // インフォメーションバーのURLをカスタマイズ $info_data['url'] = 'https://example.com/news'; return $info_data; }); swell_is_separate_cssこのフィルターフックは、SWELL テーマで必要な CSS のみを読み込むかどうかを判定するために使用されます。
この機能を有効にすると、ページに必要なスタイルのみが読み込まれるため、ページのパフォーマンスが向上する可能性があります。
add_filter( 'swell_is_separate_css', '__return_false' ); swell_remove_url_to_cardこのフィルターフックは、SWELL テーマでコンテンツ内の URL を自動的にブログカードに変換する機能を無効化するために使用されます。
フィルターフックを利用して、特定の条件下でこの機能を無効にすることができます。
add_filter( 'swell_remove_url_to_card', function( $remove_url_to_card ) { if ( is_single() && has_category( '特定のカテゴリー', get_the_ID() ) ) { return true; // 特定のカテゴリーの投稿ページでは URL をブログカードに変換しない } return $remove_url_to_card; } ); swell_update_json_nameこのフィルターフックは、SWELL テーマでアップデート情報を取得するための JSON ファイルの名前を変更するために使用されます。
デフォルトでは、この JSON ファイルの名前は update.json ですが、フィルターフックを利用して名前を変更することができます。
add_filter( 'swell_update_json_name', function( $json_name ) { return 'my_update.json'; // JSON ファイルの名前を変更 } );ブログ・投稿関連
swell_get_archive_dataこのフィルターフックは、SWELL テーマでアーカイブページのデータを取得する際に使用されます。
アーカイブページの種類(投稿タイプアーカイブ、カテゴリー、タグ、カスタムタクソノミー、著者、日付アーカイブなど)とタイトルを含むデータ配列を返します。このフックを利用して、アーカイブページのデータをカスタマイズすることができます。
add_filter( 'swell_get_archive_data', function( $data ) { // カスタムタクソノミーアーカイブの場合、タイトルを変更する if ( 'tax' === $data['type'] ) { $data['title'] = 'カスタムタクソノミー: ' . $data['title']; } return $data; } ); swell_get_search_terms_statusこのフィルターフックは、SWELL テーマで検索結果ページの絞り込み状況をテキストとして取得するために使用されます。
このフィルターフックを使用することで、検索結果ページでユーザーがどのような条件で絞り込みを行ったかを表示することができます。
特に、カテゴリーやタグによる絞り込みが行われた場合、その情報をテキストとして返します。
add_filter( 'swell_get_search_terms_status', function( $return_text ) { // 検索結果ページの絞り込み状況を取得 $searched_status = SWELL_Theme\Utility\Get::get_searched_status(); // 絞り込み条件があれば表示用テキストを追加 if ( ! empty( $searched_status ) ) { $return_text .= '<div class="searched-status">' . esc_html( $searched_status ) . '</div>'; } return $return_text; } ); swell_get_search_titleこのフィルターフックは、SWELL テーマ内で定義されている SWELL_Theme\Utility\Get::get_search_title メソッド内で使用されます。
このメソッドは、検索結果ページのタイトルを取得するために使用されます。
swell_get_search_title フィルターフックを使用することで、検索結果ページのタイトルをカスタマイズすることができます。
add_filter( 'swell_get_search_title', function( $s_title ) { // 検索結果ページのタイトルを変更する $s_title = 'カスタマイズされた検索結果: ' . $s_title; return $s_title; }); swell_get_tax_of_post_typeこのフィルターフックは、指定されたカスタム投稿タイプに紐付いたタクソノミーを取得するために使用されます。
カスタム投稿タイプに複数のタクソノミーが紐付いている場合、このフィルターフックを使用して特定のタクソノミーを取得することができます。
add_filter( 'swell_get_tax_of_post_type', function( $the_tax, $the_post_type ) { // カスタム投稿タイプ 'my_custom_post_type' に紐付いたタクソノミー 'my_custom_taxonomy' を取得 if ( 'my_custom_post_type' === $the_post_type ) { return 'my_custom_taxonomy'; } return $the_tax; // それ以外の投稿タイプはデフォルトのタクソノミーを返す }, 10, 2 ); swell_get_the_term_linksこのフィルターフックは、SWELL テーマで生成される投稿のターム(カテゴリーやタグ)のリンクを操作するために使用されます。
デフォルトでは、投稿に関連付けられている各タームのリンクが生成されますが、このフックを利用してリンクの形式を変更したり、追加のマークアップを追加したりすることができます。
add_filter( 'swell_get_the_term_links', function( $thelist, $post_id, $tax ) { // 追加したいクラス名 $additional_class = 'custom-class'; // リンクにクラスを追加 $thelist = str_replace( 'c-categoryList__link', 'c-categoryList__link ' . $additional_class, $thelist ); return $thelist; }, 10, 3 ); swell_get_the_terms_dataこのフィルターフックは、SWELL テーマ内で定義されている get_the_terms_data 関数内で使用されます。
この関数は、指定された投稿のタクソノミー項目のデータを取得し、そのデータをフィルタリングするためにこのフックを提供します。
add_filter( 'swell_get_the_terms_data', function( $terms_data ) { foreach ( $terms_data as &$term_data ) { // 例えば、特定のカテゴリー名を変更したい場合 if ( '旧カテゴリー名' === $term_data['name'] ) { $term_data['name'] = '新カテゴリー名'; } } return $terms_data; }); swell_pager_rangeこのフィルターフックは、SWELL テーマでのページネーションにおいて、現在のページの左右に表示するページ数の範囲を変更するために使用されます。
これを利用して、ページネーションの表示範囲を動的に変更することができます。
add_filter( 'swell_pager_range', function( $range ) { // 左右に表示するページ数の範囲を3に設定 return 3; }); swell_pickup_post_argsこのフィルターフックは、SWELL テーマでの記事スライダーに表示される投稿リストのクエリ引数を変更するために使用されます。
これを利用して、記事スライダーに表示される投稿の条件を動的に変更することができます。
add_filter( 'swell_pickup_post_args', function( $query_args ) { // カスタム投稿タイプ「my_post_type」の投稿を表示 $query_args['post_type'] = 'my_post_type'; // タグID「123」を持つ投稿を除外 $query_args['tag__not_in'] = [123]; // 投稿日が過去7日以内の投稿のみ表示 $query_args['date_query'] = [ [ 'after' => '7 days ago', ], ]; return $query_args; }); swell_post_list_cat_dataこのフィルターフックは、SWELL テーマで投稿リストに表示されるカテゴリー情報をカスタマイズするために使用されます。
デフォルトでは、投稿に割り当てられた最初のカテゴリーのIDと名前が使用されますが、このフックを利用して別のカテゴリー情報を表示することができます。
add_filter( 'swell_post_list_cat_data', function( $cat_data, $post_id ) { // カスタマイズしたい条件に応じてカテゴリー情報を変更 if ( 特定の条件 ) { $cat_data['id'] = 新しいカテゴリーID; $cat_data['name'] = '新しいカテゴリー名'; } return $cat_data; }, 10, 2 ); あわせて読みたい SWELL│投稿リストのカテゴリー表示をタグやカスタムタクソノミーに変更する方法 投稿リストはカードの右上にカテゴリーを表示することができますが、他の情報に差し替えたいことはないでしょうか? 本記事では投稿リストのカテゴリー表示をタグやカス… swell_post_list_type_on_archiveこのフィルターフックは、アーカイブページに表示される投稿リストのタイプを変更するために使用されます。
これを利用して、アーカイブページの投稿リストの表示スタイルを動的に変更することができます。
add_filter( 'swell_post_list_type_on_archive', function( $list_type, $archive_data ) { // 特定のカテゴリーのアーカイブページの場合 if ( is_category( '特定のカテゴリー' ) ) { // リストタイプを 'card' に変更 $list_type = 'card'; } // 特定のタグのアーカイブページの場合 elseif ( is_tag( '特定のタグ' ) && $archive_data['title'] === 'タグのタイトル' ) { // リストタイプを 'list' に変更 $list_type = 'list'; } // 変更されたリストタイプを返す return $list_type; }, 10, 2 );is_category() 関数を利用して特定のカテゴリーにのみ適用されるようにしています。
$archive_data パラメータを利用することで、アーカイブの情報に基づいて条件分岐を行うことも可能です。
あわせて読みたい SWELL│特定のアーカイブページの記事一覧リストの表示を変更する方法 SWELLのアーカイブの記事一覧リストはカスタマイズから変更できます。 しかし特定の投稿記事タイプではカードじゃなくてテキストで表示したいということはないでしょう… swell_post_list_type_on_searchこのフィルターフックは、SWELL テーマで検索結果ページに表示される投稿リストのスタイル(リストタイプ)をカスタマイズするために使用されます。
デフォルトのリストタイプはテーマの設定に依存しますが、このフックを利用して検索結果ページのリストタイプを個別に指定することができます。
add_filter( 'swell_post_list_type_on_search', function( $list_type ) { return 'card'; }); swell_post_list_type_on_termこのフィルターフックは、ターム(カテゴリーやタグなど)アーカイブページに表示される投稿リストのタイプを変更するために使用されます。
これを利用して、タームアーカイブページの投稿リストの表示スタイルを動的に変更することができます。
add_filter( 'swell_post_list_type_on_term', function( $list_type, $term_id ) { // 特定のカテゴリーのアーカイブページの場合 if ( 'category' === get_term( $term_id )->taxonomy && '特定のカテゴリースラッグ' === get_term( $term_id )->slug ) { // リストタイプを 'grid' に変更 $list_type = 'grid'; } return $list_type; }, 10, 2 );get_term() 関数を利用してタームの情報を取得し、条件分岐に使用しています。
$term_id パラメータを利用することで、特定のタームに対してのみリストタイプを変更することができます。
swell_related_post_argsこのフィルターフックは、SWELL テーマで関連記事を表示する際のクエリ引数をカスタマイズするために使用されます。
デフォルトでは、投稿タイプやカテゴリー、タグなどに基づいて関連記事が選択されますが、このフックを利用してクエリ引数を変更することで、表示する関連記事の条件を細かく調整することができます。
add_filter( 'swell_related_post_args', function( $args ) { $args['meta_query'] = [ [ 'key' => 'custom_field_key', 'value' => 'custom_value', 'compare' => '=', ], ]; return $args; }); swell_related_post_maxnumこのフィルターフックは、SWELL テーマで関連記事を表示する際の最大表示数をカスタマイズするために使用されます。
デフォルトでは、8つの関連記事が表示されますが、このフックを利用して表示数を変更することができます。
add_filter( 'swell_related_post_maxnum', function( $maxnum ) { return 5; }); あわせて読みたい SWELL│ショートコードを使わないで投稿リストの数を増やす方法 SWELLの投稿リストブロックは、様々な条件を付与して、かつ見た目も色々あるので本当に便利ですよね。 しかし表示できる記事数は24個までの制限があります。 24個以上の… swell_toc_targetこのフィルターフックは、SWELL テーマで目次(TOC: Table of Contents)を生成する際に、どの要素を目次の対象とするかを指定するために使用されます。
デフォルトでは、h2,h3,h4 が対象となりますが、このフィルターフックを使用することで、対象とする要素をカスタマイズすることができます。
add_filter( 'swell_toc_target', function( $meta ) { return 'h3'; } ); あわせて読みたい SWELL│特定の記事だけ目次の見出し表示設定を変更する方法 SWELLの目次表示は便利ですが、記事構成によってはこのページはh3まで表示したいことはないでしょうか? 目次の見出しの設定はカスタマイズ>投稿・固定ページ>目次か… swell_twitter_to_xこのフィルターフックは、SWELL テーマでのアイコンリストにおいて、Twitter アイコンを特定のアイコンに置き換えるために使用されます。
デフォルトでは、Twitter アイコンは通常のものが使用されますが、このフックを利用して、例えばTwitter X アイコンに変更することができます。
add_filter( 'swell_twitter_to_x', function( $value ) { // Twitter アイコンを Twitter X アイコンに置き換える return true; });カスタムフォーマット・エディター関連
swell_code_meta_screensこのフィルターフックは、SWELL テーマでカスタム CSS と JS のメタボックスを表示する投稿タイプを指定するために使用されます。
デフォルトでは、post と page に加えて、カスタム投稿タイプも含まれますが、このフィルターフックを使用して表示する投稿タイプを変更することができます。
add_filter( 'swell_code_meta_screens', function( $screens ) { return ['post', 'custom_post_type']; // 'post' と 'custom_post_type' にのみメタボックスを表示 } ); swell_custom_format_setsこのフィルターフックは、SWELL テーマでカスタム書式セットを定義する際に使用されます。
カスタム書式セットは、エディターでテキストに適用できる複数の書式を組み合わせたものです。
たとえば、テキストを太字にし、特定の背景色を付け、マーカーを適用するといった書式セットを定義することができます。
add_filter( 'swell_custom_format_sets', function( $custom_format_sets ) { $custom_format_sets[] = [ [ 'type' => 'loos/bg-color', 'attributes' => [ 'class' => 'swl-bg-color has-custom-background-color' ], ], [ 'type' => 'loos/marker', 'attributes' => [ 'class' => 'mark_custom' ], ], [ 'type' => 'loos/text-color', 'attributes' => [ 'class' => 'has-custom-color' ], ], [ 'type' => 'loos/font-size', 'attributes' => [ 'class' => 'u-fz-custom' ], ], [ 'type' => 'core/bold', ], [ 'type' => 'core/italic', ], ]; return $custom_format_sets; } ); swell_custom_formatsこのフィルターフックは、SWELL テーマでカスタム書式を定義する際に使用されます。
カスタム書式は、エディターでテキストに適用できるカスタムスタイルです。
たとえば、特定の色でテキストを強調する書式や、特定のフォントサイズでテキストを表示する書式などを定義することができます。
add_filter( 'swell_custom_formats', function( $custom_formats ) { $custom_formats[] = [ 'name' => 'loos/custom-format-example', 'title' => 'カスタム書式例', 'tagName' => 'span', 'className' => 'custom-format-example', ]; return $custom_formats; } ); あわせて読みたい SWELL│カスタム書式を増やすカスタマイズ 文字単位でクラスを追加できて、装飾を施せるSWELLのカスタム書式。 どうしても文字部分だけCSSでカスタマイズしたい時に非常に便利です。 しかしながらSWELLのエディタ… swell_side_meta_screensこのフィルターフックは、SWELL テーマで「SWELL設定」メタボックスを表示する投稿タイプを指定するために使用されます。
デフォルトでは、post と page に加えて、カスタム投稿タイプも含まれますが、このフィルターフックを使用して表示する投稿タイプを変更することができます。
add_filter( 'swell_side_meta_screens', function( $screens ) { return ['post', 'custom_post_type']; // 'post' と 'custom_post_type' にのみメタボックスを表示 } ); swell_term_meta_screensこのフィルターフックは、SWELL テーマ内で定義されているタームメタデータの管理画面に関連する処理で使用されます。
swell_term_meta_screens フィルターフックを使用することで、タームメタデータを追加するタクソノミーの画面をカスタマイズすることができます。
add_filter( 'swell_term_meta_screens', function( $screens ) { $screens[] = 'custom_taxonomy'; return $screens; } );おまけ│SWELLで使われているフックまとめ
こちらは本記事の趣旨とは逸れますが、興味があったので調べてみました。
SWELLで使われているフックを見る アクションフック 全50個まずはアクションフックから。
フック名ファイルの場所admin_menuwp-content/themes/swell/classes/Admin_Menu.phpadmin_initwp-content/themes/swell/classes/Admin_Menu.phpafter_setup_themewp-content/themes/swell/classes/Theme_Data.phpinitwp-content/themes/swell/classes/Theme_Data.phpwp_loadedwp-content/themes/swell/classes/Theme_Data.phpshow_user_profilewp-content/themes/swell/classes/Meta_User.phpedit_user_profilewp-content/themes/swell/classes/Meta_User.phpprofile_updatewp-content/themes/swell/classes/Meta_User.phpdynamic_sidebarwp-content/themes/swell/classes/Pre_Parse_Blocks.phpwidgets_initwp-content/themes/swell/classes/Legacy_Widget.phpwp_headwp-content/themes/swell/lib/content_filter.phptiny_mce_before_initwp-content/themes/swell/lib/tiny_mce.phpupgrader_process_completewp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.phpadmin_footer-edit.phpwp-content/themes/swell/lib/hooks/admin_display.phpadmin_noticeswp-content/themes/swell/lib/notice.phpwp_dashboard_setupwp-content/themes/swell/lib/notice.phpenqueue_block_editor_assetswp-content/themes/swell/lib/load/block_assets.phpadmin_enqueue_scriptswp-content/themes/swell/lib/load/admin.phpwpwp-content/themes/swell/lib/load/jquery.phprest_api_initwp-content/themes/swell/lib/rest_api.phpcurrent_screenwp-content/themes/swell/lib/activate.phpafter_setup_themewp-content/themes/swell/lib/theme_setup.phpinitwp-content/themes/swell/lib/gutenberg/register_blocks.phpadd_meta_boxeswp-content/themes/swell/lib/post_meta/meta_side.phpsave_postwp-content/themes/swell/lib/post_meta/meta_lp.phppre_get_postswp-content/themes/swell/lib/hooks.phpwp_headerswp-content/themes/swell/lib/hooks.phpwp_terms_checklist_argswp-content/themes/swell/lib/hooks.phpthe_password_formwp-content/themes/swell/lib/hooks.phphook_initwp-content/themes/swell/lib/post_type.phphook_admin_initwp-content/themes/swell/lib/post_type.phpset_data__initwp-content/themes/swell/lib/define_const.phphook_wp_loadedwp-content/themes/swell/lib/define_const.phphook_wpwp-content/themes/swell/lib/define_const.php フィルターフック 全84個次にフィルターフック。
フック名ファイルの場所render_blockwp-content/themes/swell/classes/Pre_Parse_Blocks.phpwidget_textwp-content/themes/swell/classes/Pre_Parse_Blocks.phpwidget_text_contentwp-content/themes/swell/classes/Pre_Parse_Blocks.phpwidget_titlewp-content/themes/swell/classes/Legacy_Widget.phpthe_contentwp-content/themes/swell/lib/content_filter.phpwidget_block_contentwp-content/themes/swell/lib/content_filter.phpmce_external_pluginswp-content/themes/swell/lib/tiny_mce.phpmce_buttons_2wp-content/themes/swell/lib/tiny_mce.phpupgrader_pre_installwp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.phpupgrader_package_optionswp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.phpupgrader_post_installwp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.phpcron_scheduleswp-content/themes/swell/lib/update/Puc/v4p5/Scheduler.phpplugins_apiwp-content/themes/swell/lib/update/Puc/v4p5/Plugin/UpdateChecker.phpplugin_row_metawp-content/themes/swell/lib/update/Puc/v4p5/Plugin/Ui.phpdebug_bar_panelswp-content/themes/swell/lib/update/Puc/v4p5/DebugBar/Extension.phpupgrader_pre_downloadwp-content/themes/swell/lib/update/Puc/v4p5/Vcs/GitHubApi.phphttp_request_argswp-content/themes/swell/lib/update/Puc/v4p5/Vcs/GitHubApi.phpsite_transient_update_pluginswp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.phpupgrader_source_selectionwp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.phphttp_request_host_is_externalwp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.phprender_block_loos/faqwp-content/themes/swell/lib/gutenberg/render_hook/faq.phprender_block_core/tablewp-content/themes/swell/lib/gutenberg/render_hook/core_table.phprender_block_loos/box-menu-itemwp-content/themes/swell/lib/gutenberg/render_hook.phprender_block_loos/columnswp-content/themes/swell/lib/gutenberg/render_hook.phprender_block_loos/box-menuwp-content/themes/swell/lib/gutenberg/render_hook.phprender_block_loos/tabwp-content/themes/swell/lib/gutenberg/render_hook.phprender_block_loos/accordion-itemwp-content/themes/swell/lib/gutenberg/render_hook.phprender_block_core/imagewp-content/themes/swell/lib/gutenberg/render_hook.phpseparate_core_block_assetswp-content/themes/swell/lib/gutenberg/block_control.phpwidget_types_to_hide_from_legacy_widget_blockwp-content/themes/swell/lib/gutenberg/block_control.phpmanage_posts_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_pages_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_edit-category_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_edit-post_tag_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_category_custom_columnwp-content/themes/swell/lib/hooks/admin_display.phpmanage_post_tag_custom_columnwp-content/themes/swell/lib/hooks/admin_display.phpmanage_edit-category_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_edit-post_tag_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.phpmanage_edit-post_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.phprequestwp-content/themes/swell/lib/hooks/admin_display.phprestrict_manage_postswp-content/themes/swell/lib/hooks/admin_display.phpquery_varswp-content/themes/swell/lib/hooks/admin_display.phpposts_wherewp-content/themes/swell/lib/hooks/admin_display.phpplugin_auto_update_setting_htmlwp-content/themes/swell/lib/hooks/admin_display.phptheme_auto_update_setting_htmlwp-content/themes/swell/lib/hooks/admin_display.phpadmin_bar_menuwp-content/themes/swell/lib/hooks/admin_toolbar.phpembed_oembed_discoverwp-content/themes/swell/lib/hooks/remove.phpwp_sitemaps_enabledwp-content/themes/swell/lib/hooks/remove.phpwp_sitemaps_users_pre_url_listwp-content/themes/swell/lib/hooks/remove.phpwp_calculate_image_srcset_metawp-content/themes/swell/lib/hooks/remove.phpemoji_svg_urlwp-content/themes/swell/lib/hooks/remove.phprun_wptexturizewp-content/themes/swell/lib/hooks/remove.phpmedia_library_infinite_scrollingwp-content/themes/swell/lib/hooks/remove.phpscript_loader_tagwp-content/themes/swell/lib/hooks/remove.phpstyle_loader_tagwp-content/themes/swell/lib/hooks/remove.phpwp_lazy_loading_enabledwp-content/themes/swell/lib/hooks/remove.phpwidget_update_callbackwp-content/themes/swell/lib/hooks/cache_clear.phpwp_generate_tag_cloudwp-content/themes/swell/lib/hooks/edit_core_html.phpwp_list_categorieswp-content/themes/swell/lib/hooks/edit_core_html.phpwp_list_pageswp-content/themes/swell/lib/hooks/edit_core_html.phpget_archives_linkwp-content/themes/swell/lib/hooks/edit_core_html.phpdynamic_sidebar_paramswp-content/themes/swell/lib/hooks/edit_core_html.phprender_block_core/categorieswp-content/themes/swell/lib/hooks/edit_core_html.phprender_block_core/archiveswp-content/themes/swell/lib/hooks/edit_core_html.phppuc_request_update_options_theme-swellwp-content/themes/swell/lib/update.phpdo_shortcode_tagwp-content/themes/swell/lib/load/check_code.phprender_block_core/listwp-content/themes/swell/lib/load/check_code.phprender_block_core/gallerywp-content/themes/swell/lib/load/check_code.phpshould_load_separate_core_block_assetswp-content/themes/swell/lib/load/separate.phpnav_menu_item_idwp-content/themes/swell/lib/custom_menu.phpnav_menu_css_classwp-content/themes/swell/lib/custom_menu.phpwalker_nav_menu_start_elwp-content/themes/swell/lib/custom_menu.phprender_block_core/groupwp-content/themes/swell/lib/gutenberg.phpwp_theme_json_data_defaultwp-content/themes/swell/lib/gutenberg.phpwp_omit_loading_attr_thresholdwp-content/themes/swell/lib/gutenberg.phppre_term_descriptionwp-content/themes/swell/lib/hooks.phpbody_classwp-content/themes/swell/lib/hooks.phpthe_excerpt_rsswp-content/themes/swell/lib/hooks.phpthe_content_feedwp-content/themes/swell/lib/hooks.phppre_get_avatarwp-content/themes/swell/lib/hooks.phpswell_is_show_sidebarwp-content/themes/swell/lib/overwrite.phpswell_is_show_indexwp-content/themes/swell/lib/overwrite.phpswell_toc_targetwp-content/themes/swell/lib/overwrite.phpswell_is_show_toc_adwp-content/themes/swell/lib/overwrite.phpswell_is_show_ttltopwp-content/themes/swell/lib/overwrite.phpswell_is_show_pickup_bannerwp-content/themes/swell/lib/overwrite.phpswell_show_term_navigationwp-content/themes/swell/lib/overwrite.phpSWELLのフックまとめ
本記事ではSWELLのフックまとめについてまとめました。
開発者が細かくフックを仕込んでいるおかけで、部分的なカスタマイズを上書きして変更することができて非常に便利です。
もしカスタマイズが浮かびましたら、この記事を参考にフックを使って調整してみてください。
SWELLカスタマイズ- URLをコピーしました!
WAZAの有料記事のサブスクリプションも開始しました。
あわせて読みたい アフィリエイト付き!有料記事のサブスクリプションについて WAZAでは特に有益な記事は有料記事とさせていただいてます。 本記事では有料記事をリストでまとめました。 また有料記事の読み放題のサブスクリプション、そして有料記...サービス
Service
WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。
詳細を見る 全サービス一覧