it-swarm.com.de

remove_action on after_setup_theme funktioniert nicht mit dem untergeordneten Thema

Ich versuche, eine Themenaktion für ein elegantes Thema mit einem untergeordneten Thema zu entfernen. Dies funktioniert, wenn ich die Aktion nach dem add_action-Code an einer beliebigen Stelle in der übergeordneten Themenfunktion.php entferne. Es funktioniert jedoch nicht, wenn ich es aus der child theme functions.php hinzufüge.

remove_action ('after_setup_theme', 'et_pb_setup_theme' , 10);

Aktion entfernen hat die gleiche Priorität 10 wie die Aktion hinzufügen. Sollte es nicht funktionieren?

add_action( 'after_setup_theme', 'et_pb_setup_theme' ); //parent theme add_action
16
Smoking Sheriff

Wie @cybmeta bereits betont hat, sind Sie mit Ihrer Entfernung zu früh. Sie müssen also die eigentliche Entfernung verschieben, zum Beispiel so:

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' );
}
24
tfrommen

Die Datei functions.php der untergeordneten Themen wird direkt vor der Datei functions.php des übergeordneten Themas geladen. Wenn Sie also remove_action im untergeordneten Thema ausführen, ist die zu entfernende Aktion nicht vorhanden, da sie später hinzugefügt wird.

3
cybmeta

Versuchen Sie (ändern Sie einfach die Namen):

add_action( 'init' , 'myyy_remove' , 15 );
function myyy_remove() {
        remove_action('ACTION_NAME', 'my_function_name_Something'   ,11);
        remove_action('ACTION_NAME', 'my_function_name_Another'     ,11);
}
1
T.Todua