SWELL│最新版!アクションフック・フィルターフック79個全まとめ

SWELLでカスタマイズをするときに欠かせないのがアクションフックフィルターフックです。

開発者が事前に、指定箇所が変更ができるようにフックをたくさん仕込んでおり、それを利用して上書きしてSWELLをカスタマイズできます。

WordPressのカスタマイズでよく使うので、一度SWELLのフックを全て洗い出してみました。

2024年3月更新

ちなみにSWELLはフックだけでなく関数も上書きできます。

詳細は下記に記事にて

目次

著者

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

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

アクションフック・フィルターフックの使い方

先に簡潔にアクションフック・フィルターフックについて説明します。

アクションフックフィルターフック
特定のイベントが発生したときに何かを実行するために使用データを加工するために使用し、加工されたデータを返却する
例: 投稿が公開されたときにメールを送信する例: 投稿の内容を加工する
関数: 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のアクションフック・フィルターフック79個全まとめ

まずはSWELLで設定されているアクションフック・フィルターフックを全て調べてリスト化してみました。

SWELLのフックの調べ方

SWELLのフックを調べるのは簡単です。

String Locatorというプラグインを使って、テーマ内のコードを検索します。

正規表現も使うことができるので非常に便利なのでおすすめです。

今回は検索をかけてSWELL用に仕込まれているフックをすべて洗い出してみました。

以下、検索で洗い出したSWELLのフックをまとめています。

SWELLのアクションフック 全4個

SWELLのアクションフックはdo_action( 'swell_と記載されています。

フック名ファイルの場所
swell_after_copyrightwp-content/themes/swell/parts/footer/footer_contents.php
swell_inner_main_visualwp-content/themes/swell/parts/top/main_visual.php
swell_before_post_headwp-content/themes/swell/single.php
swell_before_post_thumbwp-content/themes/swell/single.php

SWELLのフィルターフック 全75個

SWELLのフィルターフックはapply_filters( 'swellと記載されています。

フック名ファイルの場所
swell_post_content_classwp-content/themes/swell/tmp/front.php
swell_post_list_type_on_archivewp-content/themes/swell/archive.php
swell_post_list_type_on_termwp-content/themes/swell/archive-term.php
swell_breadcrumb_list_datawp-content/themes/swell/parts/breadcrumb.php
swell_mv_single_lazy_offwp-content/themes/swell/parts/archive/term_head.php
swell_term_thumbnail_lazy_offwp-content/themes/swell/parts/archive/term_head.php
swell_post_slider_lazy_offwp-content/themes/swell/parts/top/post_slider.php
swell_infobar_datawp-content/themes/swell/parts/header/info_bar.php
swell_pickup_post_argswp-content/themes/swell/parts/post_list/loop_by_slider.php
swell_post_list_404_textwp-content/themes/swell/parts/post_list/loop_main.php
swell_posts_404_textwp-content/themes/swell/parts/post_list/loop_sub.php
swell_twitter_to_xwp-content/themes/swell/parts/icon_list.php
swell_top_area_lazy_offwp-content/themes/swell/parts/top_title_area.php
swell_sns_cta_messagewp-content/themes/swell/parts/single/sns_cta.php
swell_related_post_maxnumwp-content/themes/swell/parts/single/related_post_list.php
swell_related_post_argswp-content/themes/swell/parts/single/related_post_list.php
swell_related_post_404_textwp-content/themes/swell/parts/single/related_post_list.php
swell_post_list_type_on_searchwp-content/themes/swell/search.php
swell_post_list_cat_datawp-content/themes/swell/classes/SWELL_THEME/Parts/Post_List.php
swell_json_ld__organizationwp-content/themes/swell/classes/Json_Ld.php
swell_json_ld__websitewp-content/themes/swell/classes/Json_Ld.php
swell_json_ld__webpagewp-content/themes/swell/classes/Json_Ld.php
swell_json_ld__collectionpagewp-content/themes/swell/classes/Json_Ld.php
swell_json_ld__articlewp-content/themes/swell/classes/Json_Ld.php
swell_json_ld__authorwp-content/themes/swell/classes/Json_Ld.php
swell_json_ldwp-content/themes/swell/classes/Json_Ld.php
swell_get_the_term_linkswp-content/themes/swell/classes/SWELL_FUNC.php
swell_parts_catchphrasewp-content/themes/swell/classes/SWELL_PARTS.php
swell_parts_head_logowp-content/themes/swell/classes/SWELL_PARTS.php
swell_parts_page_titlewp-content/themes/swell/classes/SWELL_PARTS.php
swell_parts_term_titlewp-content/themes/swell/classes/SWELL_PARTS.php
swell_post_thumbnail_lazy_offwp-content/themes/swell/classes/SWELL_PARTS.php
swell_parts_post_thumbnailwp-content/themes/swell/classes/SWELL_PARTS.php
swell_parts_scroll_arrowwp-content/themes/swell/classes/SWELL_PARTS.php
swell_show_term_navigationwp-content/themes/swell/classes/SWELL_PARTS.php
swell_do_blog_partswp-content/themes/swell/classes/Utility/Parts.php
swell_frame_classwp-content/themes/swell/classes/Utility/Get.php
swell_get_archive_datawp-content/themes/swell/classes/Utility/Get.php
swell_get_the_terms_datawp-content/themes/swell/classes/Utility/Get.php
swell_get_sns_cta_datawp-content/themes/swell/classes/Utility/Get.php
swell_get_search_titlewp-content/themes/swell/classes/Utility/Get.php
swell_get_tax_of_post_typewp-content/themes/swell/classes/Utility/Get.php
swell_get_search_terms_statuswp-content/themes/swell/classes/Utility/Get.php
swell_is_show_ttltopwp-content/themes/swell/classes/Utility/Status.php
swell_is_show_indexwp-content/themes/swell/classes/Utility/Status.php
swell_is_show_toc_adwp-content/themes/swell/classes/Utility/Status.php
swell_is_show_sidebarwp-content/themes/swell/classes/Utility/Status.php
swell_is_show_commentswp-content/themes/swell/classes/Utility/Status.php
swell_is_show_pickup_bannerwp-content/themes/swell/classes/Utility/Status.php
swell_is_show_page_linkswp-content/themes/swell/classes/Utility/Status.php
swell_is_separate_csswp-content/themes/swell/classes/Utility/Status.php
swell_root_attrswp-content/themes/swell/classes/Utility/Attrs.php
swell_body_attrswp-content/themes/swell/classes/Utility/Attrs.php
swell_content_attrswp-content/themes/swell/classes/Utility/Attrs.php
swell_lp_content_attrswp-content/themes/swell/classes/Utility/Attrs.php
swell_update_json_namewp-content/themes/swell/classes/Utility/Others.php
swell_remove_url_to_cardwp-content/themes/swell/lib/content_filter.php
swell_delay_js_prevent_pageswp-content/themes/swell/lib/rewrite_html.php
swell_delay_js_listwp-content/themes/swell/lib/rewrite_html.php
swell_table_scroll_hintwp-content/themes/swell/lib/gutenberg/render_hook/core_table.php
swell_blocks_rss_cache_timewp-content/themes/swell/lib/gutenberg/block/rss.php
swell_side_meta_screenswp-content/themes/swell/lib/post_meta/meta_side.php
swell_code_meta_screenswp-content/themes/swell/lib/post_meta/meta_code.php
swell_hide_fse_blockswp-content/themes/swell/lib/load/block_assets.php
swell_custom_formatswp-content/themes/swell/lib/load/admin.php
swell_custom_format_setswp-content/themes/swell/lib/load/admin.php
swell_toc_targetwp-content/themes/swell/lib/load/front.php
swell_term_meta_screenswp-content/themes/swell/lib/term_meta.php
swell_head_logowp-content/themes/swell/lib/pluggable_parts/header_parts.php
swell_head_logo_topwp-content/themes/swell/lib/pluggable_parts/header_parts.php
swell_head_logo_sizeswp-content/themes/swell/lib/pluggable_parts/header_parts.php

SWELLのアクションフックの解説

まずは数少ない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_inner_main_visual

このフックは、メインビジュアルの内部にカスタムコンテンツを挿入するために使用されます。

このフックを利用することで、メインビジュアルの中に任意のテキスト、画像、スライダーなどを簡単に追加できます。

また$post_id パラメータを利用することで、特定の投稿に対してのみカスタムテキストを表示することも可能です。

以下の状態は表示されないので注意!

  • メインビジュアルが表示しないの場合
  • メインビジュアルの高さがウィンドウにフィットさせるの場合

テキストを表示したい場合

add_action( 'swell_inner_main_visual', function() {
    echo '<div class="custom-text">WordPress専門のWeb制作会社です!</div>';
});

ブログパーツを表示したい場合

add_action( 'swell_inner_main_visual', function() {
    echo do_shortcode('
'); });

swell_before_post_head

このフックは、投稿またはページのヘッダー(タイトルやメタ情報のセクション)が表示される直前に使用されます

これを利用して、投稿のヘッドセクションの前にカスタムコンテンツや広告、注意書きなどを挿入できます。

$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_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_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_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_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_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_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';
} );

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_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_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_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_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_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_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_toc_target

このフィルターフックは、SWELL テーマで目次(TOC: Table of Contents)を生成する際に、どの要素を目次の対象とするかを指定するために使用されます。

デフォルトでは、h2,h3,h4 が対象となりますが、このフィルターフックを使用することで、対象とする要素をカスタマイズすることができます。

add_filter( 'swell_toc_target', function( $meta ) {
    return '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 のメタボックスを表示する投稿タイプを指定するために使用されます。

デフォルトでは、postpage に加えて、カスタム投稿タイプも含まれますが、このフィルターフックを使用して表示する投稿タイプを変更することができます。

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_side_meta_screens

このフィルターフックは、SWELL テーマで「SWELL設定」メタボックスを表示する投稿タイプを指定するために使用されます。

デフォルトでは、postpage に加えて、カスタム投稿タイプも含まれますが、このフィルターフックを使用して表示する投稿タイプを変更することができます。

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.php
admin_initwp-content/themes/swell/classes/Admin_Menu.php
after_setup_themewp-content/themes/swell/classes/Theme_Data.php
initwp-content/themes/swell/classes/Theme_Data.php
wp_loadedwp-content/themes/swell/classes/Theme_Data.php
show_user_profilewp-content/themes/swell/classes/Meta_User.php
edit_user_profilewp-content/themes/swell/classes/Meta_User.php
profile_updatewp-content/themes/swell/classes/Meta_User.php
dynamic_sidebarwp-content/themes/swell/classes/Pre_Parse_Blocks.php
widgets_initwp-content/themes/swell/classes/Legacy_Widget.php
wp_headwp-content/themes/swell/lib/content_filter.php
tiny_mce_before_initwp-content/themes/swell/lib/tiny_mce.php
upgrader_process_completewp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.php
admin_footer-edit.phpwp-content/themes/swell/lib/hooks/admin_display.php
admin_noticeswp-content/themes/swell/lib/notice.php
wp_dashboard_setupwp-content/themes/swell/lib/notice.php
enqueue_block_editor_assetswp-content/themes/swell/lib/load/block_assets.php
admin_enqueue_scriptswp-content/themes/swell/lib/load/admin.php
wpwp-content/themes/swell/lib/load/jquery.php
rest_api_initwp-content/themes/swell/lib/rest_api.php
current_screenwp-content/themes/swell/lib/activate.php
after_setup_themewp-content/themes/swell/lib/theme_setup.php
initwp-content/themes/swell/lib/gutenberg/register_blocks.php
add_meta_boxeswp-content/themes/swell/lib/post_meta/meta_side.php
save_postwp-content/themes/swell/lib/post_meta/meta_lp.php
pre_get_postswp-content/themes/swell/lib/hooks.php
wp_headerswp-content/themes/swell/lib/hooks.php
wp_terms_checklist_argswp-content/themes/swell/lib/hooks.php
the_password_formwp-content/themes/swell/lib/hooks.php
hook_initwp-content/themes/swell/lib/post_type.php
hook_admin_initwp-content/themes/swell/lib/post_type.php
set_data__initwp-content/themes/swell/lib/define_const.php
hook_wp_loadedwp-content/themes/swell/lib/define_const.php
hook_wpwp-content/themes/swell/lib/define_const.php

フィルターフック 全84個

次にフィルターフック。

フック名ファイルの場所
render_blockwp-content/themes/swell/classes/Pre_Parse_Blocks.php
widget_textwp-content/themes/swell/classes/Pre_Parse_Blocks.php
widget_text_contentwp-content/themes/swell/classes/Pre_Parse_Blocks.php
widget_titlewp-content/themes/swell/classes/Legacy_Widget.php
the_contentwp-content/themes/swell/lib/content_filter.php
widget_block_contentwp-content/themes/swell/lib/content_filter.php
mce_external_pluginswp-content/themes/swell/lib/tiny_mce.php
mce_buttons_2wp-content/themes/swell/lib/tiny_mce.php
upgrader_pre_installwp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.php
upgrader_package_optionswp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.php
upgrader_post_installwp-content/themes/swell/lib/update/Puc/v4p5/UpgraderStatus.php
cron_scheduleswp-content/themes/swell/lib/update/Puc/v4p5/Scheduler.php
plugins_apiwp-content/themes/swell/lib/update/Puc/v4p5/Plugin/UpdateChecker.php
plugin_row_metawp-content/themes/swell/lib/update/Puc/v4p5/Plugin/Ui.php
debug_bar_panelswp-content/themes/swell/lib/update/Puc/v4p5/DebugBar/Extension.php
upgrader_pre_downloadwp-content/themes/swell/lib/update/Puc/v4p5/Vcs/GitHubApi.php
http_request_argswp-content/themes/swell/lib/update/Puc/v4p5/Vcs/GitHubApi.php
site_transient_update_pluginswp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.php
upgrader_source_selectionwp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.php
http_request_host_is_externalwp-content/themes/swell/lib/update/Puc/v4p5/UpdateChecker.php
render_block_loos/faqwp-content/themes/swell/lib/gutenberg/render_hook/faq.php
render_block_core/tablewp-content/themes/swell/lib/gutenberg/render_hook/core_table.php
render_block_loos/box-menu-itemwp-content/themes/swell/lib/gutenberg/render_hook.php
render_block_loos/columnswp-content/themes/swell/lib/gutenberg/render_hook.php
render_block_loos/box-menuwp-content/themes/swell/lib/gutenberg/render_hook.php
render_block_loos/tabwp-content/themes/swell/lib/gutenberg/render_hook.php
render_block_loos/accordion-itemwp-content/themes/swell/lib/gutenberg/render_hook.php
render_block_core/imagewp-content/themes/swell/lib/gutenberg/render_hook.php
separate_core_block_assetswp-content/themes/swell/lib/gutenberg/block_control.php
widget_types_to_hide_from_legacy_widget_blockwp-content/themes/swell/lib/gutenberg/block_control.php
manage_posts_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_pages_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_edit-category_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_edit-post_tag_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_category_custom_columnwp-content/themes/swell/lib/hooks/admin_display.php
manage_post_tag_custom_columnwp-content/themes/swell/lib/hooks/admin_display.php
manage_edit-category_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_edit-post_tag_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.php
manage_edit-post_sortable_columnswp-content/themes/swell/lib/hooks/admin_display.php
requestwp-content/themes/swell/lib/hooks/admin_display.php
restrict_manage_postswp-content/themes/swell/lib/hooks/admin_display.php
query_varswp-content/themes/swell/lib/hooks/admin_display.php
posts_wherewp-content/themes/swell/lib/hooks/admin_display.php
plugin_auto_update_setting_htmlwp-content/themes/swell/lib/hooks/admin_display.php
theme_auto_update_setting_htmlwp-content/themes/swell/lib/hooks/admin_display.php
admin_bar_menuwp-content/themes/swell/lib/hooks/admin_toolbar.php
embed_oembed_discoverwp-content/themes/swell/lib/hooks/remove.php
wp_sitemaps_enabledwp-content/themes/swell/lib/hooks/remove.php
wp_sitemaps_users_pre_url_listwp-content/themes/swell/lib/hooks/remove.php
wp_calculate_image_srcset_metawp-content/themes/swell/lib/hooks/remove.php
emoji_svg_urlwp-content/themes/swell/lib/hooks/remove.php
run_wptexturizewp-content/themes/swell/lib/hooks/remove.php
media_library_infinite_scrollingwp-content/themes/swell/lib/hooks/remove.php
script_loader_tagwp-content/themes/swell/lib/hooks/remove.php
style_loader_tagwp-content/themes/swell/lib/hooks/remove.php
wp_lazy_loading_enabledwp-content/themes/swell/lib/hooks/remove.php
widget_update_callbackwp-content/themes/swell/lib/hooks/cache_clear.php
wp_generate_tag_cloudwp-content/themes/swell/lib/hooks/edit_core_html.php
wp_list_categorieswp-content/themes/swell/lib/hooks/edit_core_html.php
wp_list_pageswp-content/themes/swell/lib/hooks/edit_core_html.php
get_archives_linkwp-content/themes/swell/lib/hooks/edit_core_html.php
dynamic_sidebar_paramswp-content/themes/swell/lib/hooks/edit_core_html.php
render_block_core/categorieswp-content/themes/swell/lib/hooks/edit_core_html.php
render_block_core/archiveswp-content/themes/swell/lib/hooks/edit_core_html.php
puc_request_update_options_theme-swellwp-content/themes/swell/lib/update.php
do_shortcode_tagwp-content/themes/swell/lib/load/check_code.php
render_block_core/listwp-content/themes/swell/lib/load/check_code.php
render_block_core/gallerywp-content/themes/swell/lib/load/check_code.php
should_load_separate_core_block_assetswp-content/themes/swell/lib/load/separate.php
nav_menu_item_idwp-content/themes/swell/lib/custom_menu.php
nav_menu_css_classwp-content/themes/swell/lib/custom_menu.php
walker_nav_menu_start_elwp-content/themes/swell/lib/custom_menu.php
render_block_core/groupwp-content/themes/swell/lib/gutenberg.php
wp_theme_json_data_defaultwp-content/themes/swell/lib/gutenberg.php
wp_omit_loading_attr_thresholdwp-content/themes/swell/lib/gutenberg.php
pre_term_descriptionwp-content/themes/swell/lib/hooks.php
body_classwp-content/themes/swell/lib/hooks.php
the_excerpt_rsswp-content/themes/swell/lib/hooks.php
the_content_feedwp-content/themes/swell/lib/hooks.php
pre_get_avatarwp-content/themes/swell/lib/hooks.php
swell_is_show_sidebarwp-content/themes/swell/lib/overwrite.php
swell_is_show_indexwp-content/themes/swell/lib/overwrite.php
swell_toc_targetwp-content/themes/swell/lib/overwrite.php
swell_is_show_toc_adwp-content/themes/swell/lib/overwrite.php
swell_is_show_ttltopwp-content/themes/swell/lib/overwrite.php
swell_is_show_pickup_bannerwp-content/themes/swell/lib/overwrite.php
swell_show_term_navigationwp-content/themes/swell/lib/overwrite.php

SWELLのフックまとめ

本記事ではSWELLのフックまとめについてまとめました。

開発者が細かくフックを仕込んでいるおかけで、部分的なカスタマイズを上書きして変更することができて非常に便利です。

もしカスタマイズが浮かびましたら、この記事を参考にフックを使って調整してみてください。

  • URLをコピーしました!
目次