Tôi thấy mình cần truyền dữ liệu tùy chỉnh vào bộ lọc được cung cấp bởi plugin bên thứ 3. Tất cả những cách tôi đã thấy để làm điều này thực sự phức tạp và khó khăn để quấn đầu tôi.
Lấy ví dụ này:
$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');
Làm thế nào tôi có thể truyền $score
biến cho add_score_to_title()
?
Điều cuối cùng tôi làm là thêm biến của mình vào $wp
đối tượng toàn cầu . Vì vậy, bạn kết thúc với điều này:
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');
Dơ bẩn? Có lẽ. Đơn giản? Vâng Bất kỳ nhược điểm của kỹ thuật này? Vui lòng bàn luận.
CẬP NHẬT Đây là mã hoàn chỉnh trong câu hỏi -> http://pastebin.com/fkSXY04m
$score
được tính bằng cách lặp qua một mảng các thứ và tăng một biến. pastebin.com/fkSXY04m