ฉันพบว่าตัวเองต้องการส่งข้อมูลที่กำหนดเองไปยังตัวกรองที่จัดทำโดยปลั๊กอินของบุคคลที่สาม ทุกวิธีที่ฉันได้เห็นการทำเช่นนี้มีความซับซ้อนและยากที่จะคาดศีรษะ
ใช้ตัวอย่างนี้:
$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');
สกปรก? อาจจะ. ง่าย? ได้! มีข้อเสียของเทคนิคนี้ไหม? กรุณาพูดคุย
UPDATE นี่คือรหัสที่สมบูรณ์ในคำถาม -> http://pastebin.com/fkSXY04m
$score
คำนวณโดยการวนซ้ำอาร์เรย์ของสิ่งต่าง ๆ และการเพิ่มตัวแปร pastebin.com/fkSXY04m