Мені здається, що потрібно передати користувацькі дані до фільтра, наданого стороннім плагіном. Всі способи, які я бачив це робити, справді складні і важко обернути голову.
Візьмемо цей приклад:
$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');
Як я можу передати $score
змінну add_score_to_title()
?
Що я в кінцевому підсумку робив - додав свою змінну на глобальний $wp
об’єкт. Отже, ви закінчуєте це:
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');
Брудні? Може бути. Простий? Так! Будь-які недоліки цієї техніки? Будь ласка, обговоріть.
ОНОВЛЕННЯ Ось повний код, про який йдеться, -> http://pastebin.com/fkSXY04m
$score
обчислюється, перебираючи масив речей і збільшуючи змінну. pastebin.com/fkSXY04m