2017-01-30 24 views
0

Ich versuche, einen Hook-Namen zu ersetzen, so dass mein Breadcrumb von einem Speicherort entfernt und an einer anderen Stelle auf der Seite hinzugefügt wird. Ich benutze ein Kindthema und möchte dies innerhalb der functions.php meines Kindthemas erreichen. Was passiert ist, ist, dass die Funktion von einem Ort entfernt und an den neuen Ort hinzugefügt wird, aber es wird zweimal ausgelöst, so dass ich zwei Brotkrumen übereinander gestapelt habe.Ändern Sie einen Wordpress-Hook in Functions.php

Die übergeordnete Thema Funktion sieht wie folgt aus:

/*-----------------------------------------------------------------------------------*/ 
 
/* Breadcrumb display */ 
 
/*-----------------------------------------------------------------------------------*/ 
 

 
add_action('woo_main_before','woo_display_breadcrumbs',10); 
 
if (!function_exists('woo_display_breadcrumbs')) { 
 
\t function woo_display_breadcrumbs() { 
 
\t \t global $woo_options; 
 
\t \t if (isset($woo_options['woo_breadcrumbs_show']) && $woo_options['woo_breadcrumbs_show'] == 'true' && ! (is_home())) { 
 
\t \t echo '<section id="breadcrumbs">'; 
 
\t \t \t woo_breadcrumbs(); 
 
\t \t echo '</section><!--/#breadcrumbs -->'; 
 
\t \t } 
 
\t } // End woo_display_breadcrumbs() 
 
} // End IF Statement

Und das ist, was ich in meiner functions.php Datei des Kindes Thema haben.

add_action('woo_main_before', 'remove_woo_display_breadcrumbs', 0); 
 

 
function remove_woo_display_breadcrumbs() { 
 

 
    remove_action('woo_main_before','woo_display_breadcrumbs',10); 
 
\t 
 
} 
 

 

 
add_action('woo_content_before','woo_display_breadcrumbs',10);

By the way, ist dies das Mystile Thema von Woo Themes. Ich bin wirklich neu in Hooks, also wenn du die Antwort hast, wäre eine kurze Erklärung, warum, wirklich hilfreich.

Antwort

0

OK, also zunächst, das Problem zu beheben müssen Sie Folgendes tun:

remove_action('woo_main_before', 'woo_display_breadcrumbs', 10); // Removes from the original location 
add_action('woo_content_before', 'woo_display_breadcrumbs', 10); // Adds to the new location 

Die ‚10‘ ist die Priorität, die eine Funktion ausgeführt wird für eine bestimmte Aktion. Stellen Sie es sich wie einen Schlitz vor.

So Slot 0 ist völlig unabhängig von dem Schlitz 10.

Alles, was wir tun oben im Codebeispiel woo_display_breadcrumbs aus einem Schlitz nimmt und es in eine andere eingefügt wird.

Ich hoffe, das hilft.

Verwandte Themen