アクションフック/フィルターフック
公式サイト:
Action Reference | WordPress Codex [Official]
Filter Reference | WordPress Codex [Official]
使い方
参考:
WordPress のフックについて 基本編 | KOMARI
フック (add_action / add_filter) | Web Design Leaves
アクションフックとフィルターフックを使いこなそう | YUKiYURi WEB
WordPress の add_filter と apply_filters のまとめ | 小粋空間
Hooks – Plugin Developer Handbook | WordPress Developer Resources [Official]
add_action
アクションにフックした処理を追加する。
参考:
add_action | WordPress Codex 日本語版
add_action() | WordPress Developer Resources [Official]
add_filter
フィルターに処理を追加する。
参考:
add_filter() – フィルターイベントと関数を紐付ける | SYNCER
add_filter で複数引数を扱う場合は指定が必要 – Qiita
add_filter | WordPress 私的マニュアル
add_filter | WordPress Codex 日本語版
add_filter() | WordPress Developer Resources [Official]
フック一覧
参考:
アクションフック一覧 | WordPress Codex 日本語版
フィルターフック一覧 | WordPress Codex 日本語版
投稿のタイトルを変更する
投稿ページの該当するページのタイトルのみを変更する場合は、is_singular()
と in_the_loop()
で条件を判別してタイトルの変更を適用する。
function title_custom_func( $title ) {
if ( is_singular() && in_the_loop() ) {
$title = "###" . $title . "###";
}
return $title;
}
add_filter( 'the_title', 'title_custom_func' );
Code language: PHP (php)
参考:
the_title フィルターフックをつかうと、関係のないメニュータイトルなんかも変わってしまうのを避ける方法 | テクニカルノート
カスタマイズの幅が劇的に広がる、フィルターフックとアクションフックの使い方 | 株式会社 LIG
WordPress のカスタマイズはフックを使えば簡単にできる事に感動した! – Qiita
WordPress で自動出力されるタイトル系のカスタマイズ方法まとめ | HPcode
add_filter で the_title を post_type 毎に出力したい – WordPress サポート
Customizing WordPress the_title with add_filter – WordPress Development Stack Exchange
Can’t properly set the_title add_filter to show short_URL – WordPress Development Stack Exchange
How to correctly get post type in a the_title filter – WordPress Development Stack Exchange
ドキュメントのタイトルを変更する
HTML ヘッダーに出力されるドキュメントタイトルを変更するには、document_title
フックを使用する。
参考:
document_title – Hook | WordPress Developer Resources [Official]
wp_get_document_title() | WordPress Developer Resources [Official]
_wp_render_title_tag – wp-includes/general-template.php at 5.8.1 · WordPress/WordPress – GitHub
管理画面のタイトルを変更する
参考:
WordPress で管理画面の title を変更する方法 | Shinichi Nishikawa’s
ダッシュボードのタイトルから WordPress の表記を抜く | ハックノート
admin_title | WordPress Developer Resources [Official]
WordPress/WordPress/wp-admin/admin-header.php – GitHub
Change page title in admin area – WordPress Development Stack Exchange
Removing label ‘WordPress’ from the title bar – WordPress Development Stack Exchange
標準フック/管理画面フック
参考:
WordPress で使えるアクション・フィルターフックの呼び出し元をまとめてみた | YUKiYURi WEB
WordPress/WordPress/wp-includes/default-filters.php – GitHub
WordPress/WordPress/wp-includes/admin-filters.php – GitHub
apply_filters
フィルターに追加された処理を実行する。
参考:
apply_filters | WordPress Codex 日本語版
apply_filters() | WordPress Developer Resources [Official]
the_content
// L172-L179
add_filter( 'the_content', 'do_blocks', 9 );
add_filter( 'the_content', 'wptexturize' );
add_filter( 'the_content', 'convert_smilies', 20 );
add_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'shortcode_unautop' );
add_filter( 'the_content', 'prepend_attachment' );
add_filter( 'the_content', 'wp_filter_content_tags' );
add_filter( 'the_content', 'wp_replace_insecure_home_url' );
// L593
add_filter( 'the_content', 'do_shortcode', 11 ); // AFTER wpautop().
Code language: PHP (php)
(出典:default-filters.php at 5.8.1 )
参考:
the_content | WordPress Developer Resources [Official]
コード:
default-filters.php at 5.8.1 · WordPress/WordPress – GitHub
the_title
// L168-L170
add_filter( 'the_title', 'wptexturize' );
add_filter( 'the_title', 'convert_chars' );
add_filter( 'the_title', 'trim' );
Code language: PHP (php)
(出典:default-filters.php at 5.8.1 )
参考:
the_title() | WordPress Developer Resources [Official]
the_title – Hook | WordPress Developer Resources [Official]
コード:
default-filters.php at 5.8.1 · WordPress/WordPress – GitHub
wp_head
HTML ヘッダー (head タグ) の内容を出力するアクション
// L300
add_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
// L313-L320
add_action( 'wp_head', '_wp_render_title_tag', 1 );
add_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'wp_resource_hints', 2 );
add_action( 'wp_head', 'feed_links', 2 );
add_action( 'wp_head', 'feed_links_extra', 3 );
add_action( 'wp_head', 'rsd_link' );
add_action( 'wp_head', 'wlwmanifest_link' );
add_action( 'wp_head', 'locale_stylesheet' );
// L322-L330
add_action( 'wp_head', 'wp_robots', 1 );
add_action( 'wp_head', 'print_emoji_detection_script', 7 );
add_action( 'wp_head', 'wp_print_styles', 8 );
add_action( 'wp_head', 'wp_print_head_scripts', 9 );
add_action( 'wp_head', 'wp_generator' );
add_action( 'wp_head', 'rel_canonical' );
add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
add_action( 'wp_head', 'wp_custom_css_cb', 101 );
add_action( 'wp_head', 'wp_site_icon', 99 );
// L451
add_action( 'wp_head', 'wp_post_preview_js', 1 );
// L517
add_action( 'wp_head', '_custom_logo_header_styles' );
// L578
add_action( 'wp_head', 'wp_maybe_inline_styles', 1 );
// L627-L628
add_action( 'wp_head', 'wp_oembed_add_discovery_links' );
add_action( 'wp_head', 'wp_oembed_add_host_js' );
Code language: PHP (php)
(出典:default-filters.php at 5.8.1 )
参考:
wp_head | WordPress Developer Resources [Official]
コード: