it-swarm.com.de

Ü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 oben genannte Funktion aus der Kernfunktionsdatei des Plugins entfernt und wollte sie so ändern, dass sie nur die WP Standardgalerie in meinem benutzerdefinierten Beitragstyp ersetzt. Also habe ich die obige if-Anweisung geändert in:

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

Also habe ich es geändert und in meine functions.php eingefügt - aber ich erhalte die Fehlermeldung, dass ich add_gpp_gallery nicht neu deklarieren kann

Wie würde ich die Funktionen des Plugins überschreiben, ohne den Plugin-Code zu berühren?

vielen Dank

EDIT

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: Rufen Sie die undefinierte Funktion is_post_type () in /home/hostspro/public_html/movemaine.com/wp-content/themes/movemaine/functions.php in Zeile 269 auf

EDIT # 2

Ich hatte meine Funktionen überkreuz 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');
    }
}
1
Jason

Sie können Name ändernadd_gpp_galleryFunktion sowohl im Rückruf als auch in der Deklaration angeben, um Konflikte 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 Sie arbeiten.

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

3
Michal Mau