Acho que preciso passar dados personalizados para um filtro fornecido por um plug-in de terceiros. Todas as maneiras pelas quais eu vi isso são realmente complicadas e difíceis de entender.
Veja este exemplo:
$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');
Como posso passar a $score
variável add_score_to_title()
?
O que acabei fazendo foi adicionar minha variável ao $wp
objeto global . Então você acaba com isso:
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');
Sujo? Talvez. Simples? Sim! Alguma desvantagem dessa técnica? Por favor, discuta.
ATUALIZAÇÃO Aqui está o código completo em questão -> http://pastebin.com/fkSXY04m
$score
é calculado fazendo um loop sobre uma matriz de coisas e incrementando uma variável. pastebin.com/fkSXY04m