Je me retrouve à devoir transmettre des données personnalisées à un filtre fourni par un plugin tiers. Toutes les façons dont j'ai vu cela sont vraiment compliquées et difficiles à comprendre.
Prenez cet exemple:
$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');
Comment passer la $score
variable à add_score_to_title()
?
J'ai fini par ajouter ma variable à l' $wp
objet global . Vous vous retrouvez donc avec ceci:
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');
Sale? Peut être. Facile? Ouaip! Des inconvénients à cette technique? Débattez s'il vous plaît.
MISE À JOUR Voici le code complet en question -> http://pastebin.com/fkSXY04m
$score
est calculé en bouclant sur un tableau de choses et en incrémentant une variable. pastebin.com/fkSXY04m