2022年04月25日

WP関数:remove_action()

この関数の説明

WP関数の remove_action() は、親テーマの中で設定されたアクションフックを子テーマの中で除去する関数です。

 

※この関数はアクションフック:after_setup_theme の中で利用します。

 


関数

remove_action( $tag, $function_name, $priority, $accepted_args )

 


パラメータ

$tag (文字列) (必須)

除去する関数がフックされているアクションフック名を指定します。

 

$function_name (文字列) (必須)

除去する関数名を指定します。

 

$priority (整数) (オプション)

関数実行の優先度

初期値: 10

親テーマの設定値が10以外の場合は指定します。

 

$accepted_args (整数) (オプション)

関数が受け入れるパラメータの数

初期値: 1

親テーマの設定値が1以外の場合は指定します。

 


戻り値

関数が除去されたかどうか。

true  : 関数除去成功
false : 関数除去失敗

 


事例

①親テーマの中に設定されている下記アクションフックを子テーマで外す

親テーマのfunctions.phpに設定されているアクションフック

function welcart_basic_query( $query ) { 
  $item_cat = get_category_by_slug( 'item' ); 
  $item_cat_id = $item_cat -> cat_ID; 
  if ( is_admin() || ! $query->is_main_query() ) { return; }
  if ( $query->is_search && !isset($_GET['searchitem']) ) { $query->set( 'category_name' , 'item' ); } 
} 
add_action( 'pre_get_posts', 'welcart_basic_query' );

上記のアクションフックを子テーマで外す為には子テーマの functions.php に下記を記述します。

function remove_welcart_query(){
	remove_action( 'pre_get_posts'  , 'welcart_basic_query' );
}
add_action('after_setup_theme', 'remove_welcart_query' );

以上で親テーマに設定されている

・アクションフック名:'pre_get_posts'

・関数名:'welcart_basic_query'

がリムーブされます。

 

アクションフック&関数
  • admin_init
  • admin_menu
  • after_setup_theme
  • customize_register
  • manage_pages_custom_column
  • manage_posts_custom_column
  • pre_get_posts
  • save_post
  • widgets_init
  • wp_enqueue_scripts
  • wp_head
  • add_editor_style()
  • add_post_type_support()
  • add_theme_support()
  • do_action()
  • get_post()
  • get_theme_mod()
  • register_nav_menu()
  • register_post_type()
  • register_sidebar()
  • register_taxonomy()
  • register_widget()
  • remove_action()
  • remove_editor_styles()
  • remove_theme_support()
  • set_post_thumbnail_size()
  • set_query_var()
  • show_admin_bar()
  • unregister_nav_menu()
  • unregister_widget()
  • wp_enqueue_script()
  • wp_enqueue_style()