Uważam, że muszę przekazać niestandardowe dane do filtra udostępnianego przez wtyczkę innej firmy. Wszystkie sposoby, które widziałem, aby to zrobić, są naprawdę skomplikowane i trudne do obejrzenia.
Weź ten przykład:
$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');
Jak mogę przekazać $score
zmienną add_score_to_title()
?
Skończyło się na dodaniu mojej zmiennej do $wp
obiektu globalnego . Tak więc kończy się to:
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');
Brudny? Może. Prosty? Tak! Jakieś wady tej techniki? Proszę omówić
AKTUALIZACJA Oto pełny kod, o którym mowa -> http://pastebin.com/fkSXY04m
$score
jest obliczany przez zapętlanie tablicy rzeczy i zwiększanie zmiennej. pastebin.com/fkSXY04m