remove_action для after_setup_theme не работает из дочерней темы
Я пытаюсь удалить действие темы для elegant-themes темы, используя дочернюю тему. Это работает, когда я удаляю действие после кода add_action в любом месте functions.php родительской темы. Однако это не работает, когда я добавляю его из functions.php дочерней темы.
remove_action('after_setup_theme', 'et_pb_setup_theme', 10);
У remove_action тот же приоритет 10, что и у add_action. Разве это не должно работать?
add_action('after_setup_theme', 'et_pb_setup_theme'); // добавление действия в родительской теме

Как уже отметил @cybmeta, вы слишком рано удаляете. Поэтому вам нужно отложить фактическое удаление, например, вот так:
add_action( 'after_setup_theme', 'wpdev_170663_remove_parent_theme_stuff', 0 );
function wpdev_170663_remove_parent_theme_stuff() {
remove_action( 'after_setup_theme', 'et_pb_setup_theme' );
}

Сработало! Я пытался сделать что-то похожее, но по моей ошибке! Так как я добавил условие с использованием has_action для проверки ещё не существующего экшена в functions.php дочерней темы перед remove_action, это не работало!! Огромное спасибо!
function etn(){
if(has_action('after_setup_theme', 'et_pb_setup_theme')){
remove_action ('after_setup_theme', 'et_pb_setup_theme' );
}
}
add_action ('after_setup_theme', 'etn', 9);

..но разве приоритет 10 и хук after_setup_theme не должны решить эту проблему? Как мне всё-таки правильно это сделать?

Нет, аргумент приоритета не для этого. Просто вы не можете удалить то, чего ещё не существует. Другими словами (как сказано в кодексе), вы не можете успешно удалить действие до того, как оно было добавлено.
