Home › Forum › Problemi Vari con WP › Override dell'HTML in uscita da una funzione
-
AutorePost
-
-
20 Novembre 2014 alle 11:47 #28434robertinoPartecipante
Buongiorno!
Vorrei capire come posso editare, tramite il functions.php del mio ChilTheme, il codice HTML generato da una funzione del thema.
Ho questo codice:
function crumina_social_icons()
{
global $one_touch_option;
if (!$one_touch_option){
$class="closed";
} else {
$class="opened";
}
if ($one_touch_option) :
echo '
<div class="row"><div class="large-12 columns">
<div id="panel">
<i class="linecon-globe"></i>
<span class="desc">' . __('Pagine SOCIAL', 'crum') . '</span>
<span>' . __('GDP', 'crum') . '</span>
<div id="soc-icons-wrap" class="' . $class . '">';
crum_social_networks();
echo '</div>
</div>
</div></div>';
endif;
}
add_action('reactor_header_after', 'crumina_social_icons', 2);
Stavo provando a creare una funzione del tipo:
add_filter('reactor_header_after', 'crumina_social_icons_custom');
per sostituire il testo "Pagine SOCIAL" o altro...
Come dovrei procedere?
Grazie. -
20 Novembre 2014 alle 19:53 #114717SteveAglAmministratore del forum
LA funzione che vuoi modificare non ha alcun filtro associato e quindi puoi scrivere tutti i filtri che vuoi ma non puoi cambiare nulla perchè non ci sono statement apply_filter da nessuna parte. Ma la strigna che vuoi cambiare è localizzata quindi il plugin ha le varie lingue quindi se sai usando l’italiano (posto ne esista la localizzazione) potri cambiare la traduzione a piacer (che perderai purtroppo al primo aggiornamento)
-
21 Novembre 2014 alle 15:28 #114744robertinoPartecipante
Ciao Steve,
un utente mi aveva suggerito questa modifica:
<?php
// Deregister original function and register replacement
function switch_crumina_social_icons()
{
remove_action('reactor_header_after', 'crumina_social_icons', 2);
add_action('reactor_header_after', 'my_crumina_social_icons', 2);
}
add_action('after_setup_theme', 'switch_crumina_social_icons');
/* NB. this is tricky but this action need to hook after the function
* is original registered but before it is executed otherwise it will miss it.
* 'after_setup_theme' should be about right.
*/
// Replacement function
function my_crumina_social_icons()
{
# copy original code... here
....
# change as required.
}
?>
Logicamente sembra corretta, ma non funziona.
In questa this screenshot, si vede che viene generato un un duplicato in cui la prima riga viene creata dal mio hook mentre la seconda è quella di default.
Forse devo cambiare 'reactor_header_after' con un altro $hook?
Grazie. -
21 Novembre 2014 alle 17:04 #114757SteveAglAmministratore del forum
Non puoi pretendere che con 4 righe di codice che interagiscono con altre mille noi si posas trovare e dare soluzioni. Ti ho detto che il codice prima NON aveva filtri e quindi NON potevi manipolare l’output un altro utente ti ha detto.. ma non lo ha fatto qui, se tizio ti da suggerimenti e non vanno chiedi a tizio non a noi se hai chiesto in altri forum ecc e non va chiedi a loro e non a noi. Scusa ma questa per NOI e SOLO un perdita di temp. NON hai le basi minime di conoscenza di WP per metterti a psticciare coi codice senza nemmeno sapere come funzionano filti e action. Srry ma chiudo!
-
-
AutorePost
- Devi essere connesso per rispondere a questo topic.