Mi trovo a dover passare i dati personalizzati a un filtro fornito da un plugin di terze parti. Tutti i modi in cui ho visto farlo sono davvero complicati e difficili da avvolgere la testa.
Prendi questo esempio:
$score = 42; //Some crazy calculation I don't want to repeat.
function add_score_to_title($title) {
return 'Quiz Results (' . $score . '/') - ' . $title;
}
add_filter( 'aioseop_title_single', 'add_score_to_title');
Come posso passare la $score
variabile a add_score_to_title()
?
Quello che ho finito per fare è stato aggiungere la mia variabile $wp
all'oggetto globale . Quindi finisci con questo:
global $wp;
$score = 42; //Some crazy calculation I don't want to repeat.
$wp->some_random_name_for_score = $score;
function add_score_to_title($title) {
global $wp;
$score = $wp->some_random_name_for_score;
return 'Quiz Results (' . $score . '/') - ' . $title;
}
add_filter( 'aioseop_title_single', 'add_score_to_title');
Sporco? Può essere. Semplice? Sì! Qualche svantaggio di questa tecnica? Per favore discutete.
AGGIORNAMENTO Ecco il codice completo in questione -> http://pastebin.com/fkSXY04m
$score
viene calcolato eseguendo il ciclo su una matrice di cose e incrementando una variabile. pastebin.com/fkSXY04m