Überschreibe das Plugin mit functions.php

add_action('wp_head','add_gpp_gallery'); function add_gpp_gallery() { if( ( is_single() || is_page() ) && ( !is_page_template('page-blog.php') ) ){ remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('gallery', 'gpp_gallery_shortcode'); } } 

Hallo zusammen, ich habe die obige function aus der corefunktionsdatei des Plugins genommen und ich hatte gehofft, sie zu ändern, um nur die WP-Standardgalerie auf meinem benutzerdefinierten Beitragstyp zu ersetzen. Also habe ich die obige if-statement wie folgt geändert:

 if (is_single() && is_post_type('post_type'){ 

Also änderte ich es und legte es in meine functions.php – aber ich bekomme einen Fehler, der besagt, dass ich add_gpp_gallery nicht neu deklarieren kann

Wie würde ich die functionen des Plugins außer Kraft setzen, ohne den Plugin-Code zu berühren?

Vielen Dank

BEARBEITEN

Ich habe es versucht:

 remove_action( 'wp_head', 'add_gpp_gallery' ); add_action('wp_head','jason_add_gpp_gallery'); function jason_add_gpp_gallery() { if ( is_single() && is_post_type('listings') ){ remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('gallery', 'gpp_gallery_shortcode'); } } 

und ich bekomme einen fatalen Fehler –

Schwerwiegender Fehler: Aufruf von undefinierter function is_post_type () in /home/hostspro/public_html/movemaine.com/wp-content/themes/movemaine/functions.php in Zeile 269

EDIT # 2

Ich hatte meine functionen verdrahtet und vergaß, den is_post_type zu ändern. Der folgende Code funktioniert und danke für die Hilfe

 remove_action( 'wp_head', 'add_gpp_gallery' ); add_action('wp_head','jason_add_gpp_gallery'); function jason_add_gpp_gallery() { if ( is_single() && 'listings' == get_post_type() ) { remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('gallery', 'gpp_gallery_shortcode'); } } 

Solutions Collecting From Web of "Überschreibe das Plugin mit functions.php"

Sie können den Namen der function add_gpp_gallery sowohl im Callback als auch in der Deklaration ändern , um den Konflikt zwischen dem Original und Ihrem Klon zu vermeiden.

Etwas wie das…

 add_action('wp_head','jason_add_gpp_gallery'); function jason_add_gpp_gallery() { if ( is_single() && 'your_post_type' == get_post_type() ) ){ remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('gallery', 'gpp_gallery_shortcode'); } } 

… sollte für dich arbeiten.

Bonus: Sie können die ursprüngliche Plugin-Aktion bei Bedarf mit remove_action () entfernen.