add_action( 'init', 'my_action1' ); function my_action1() { add_filter( 'my_filter1', 'my_function1' ); my_function1() { return 'A'; } }my_filter1 をオーバライドする場合、
add_action( 'init', 'my_action2', 9 ); function my_action1() { add_filter( 'my_filter1', 'my_function2', 11 ); my_function2() { return 'B'; } }
priority は未指定の場合 10 です。
ポイントは、アクションの priority はオーバーライドしたフィルターのあるアクションよりも低い数字を指定して先に実行されるようにし、
フィルターの priority はオーバーライドするフィルターよりも高い数字を指定して後からフィルタリングできるようにする。
plugins_loaded アクションでフィルターされている場合は、plugins_loaded よりも先にアクションを実行しなければならないので、functions.php に追記してもオーバーライドすることができない。
そういうときは、mu-plugins でオーバーライドするとよいです。
wp-content/ に mu-plugins というディレクトリを作成して、適当なファイル名でコードを保存するだけです。
ちなみにアクションの実行順は下記の通り、
muplugins_loaded
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_post_type
plugins_loaded
sanitize_comment_cookies
setup_theme
unload_textdomain
load_textdomain
after_setup_theme
load_textdomain
load_textdomain
auth_cookie_malformed
auth_cookie_valid
set_current_user
init
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
widgets_init
register_sidebar
register_sidebar
register_sidebar
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_loaded
parse_tax_query
parse_tax_query
posts_selection
template_redirect
admin_bar_init
add_admin_bar_menus
get_header
wp_head
wp_enqueue_scripts
wp_print_styles
wp_print_scripts
get_template_part_content
begin_fetch_post_thumbnail_html
end_fetch_post_thumbnail_html
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
begin_fetch_post_thumbnail_html
end_fetch_post_thumbnail_html
get_sidebar
dynamic_sidebar_before
dynamic_sidebar
dynamic_sidebar_after
get_footer
twentytwelve_credits
wp_footer
wp_print_footer_scripts
wp_before_admin_bar_render
wp_after_admin_bar_render
shutdown