لدينا علامات قالب وبعض الوظائف التي تبدأ بـ get. في بعض الأحيان سيكون من الجيد في الموضوعات التي يجب القيام بها مثل:
$title = the_title();
لاستخدام أتش تي أم أل في وقت لاحق. هذا مجرد مثال مبسط ، بطبيعة الحال هناك بعض الوظائف مثل get_the_title () ؛ ولكن هذا يعمل لهذه الوظيفة فقط.
أنا أتساءل لماذا لا توجد مثل هذه الوظيفة:
function get_output() {
$args = func_get_args();
$callback = array_shift($args);
ob_start();
call_user_func_array($callback, $args);
return ob_get_clean();
}
قد يؤدي ذلك إلى تحويل أي وظيفة لها خرج إلى دالة مرتجعة:
$title = get_output('the_title');
أي فكرة لماذا لم يتم التفكير في ذلك؟ يمكن لكل مؤلف موضوع أو قراصنة الاستفادة من هذا ، أليس كذلك؟
في الرد المباشر على السؤال ، لا يتضمن WordPress وظيفة لهذا جزئيًا لأنه لا ينطبق بشكل خاص على وظائف WordPress. أي. إنها مشكلة PHP (محتملة) وليست WordPress.
أيضًا ، لن أقول إنها مسؤولية WordPress عن توفير حلول للمكونات الإضافية التي لا توفر وظيفة لإرجاع البيانات (التي تتعارض مع نمط WordPress العام).
أود أن أزعم أن get_posts
هو WP إجابة لطلبك. تم إنشاء علامات القوالب للاستخدام في The Loop ، لكن من السهل بما يكفي لأي WP 'hacker' استخدام get_posts () بدلاً من ذلك ، وتعيين ، على سبيل المثال: $ post-> post_title إلى متغير. من المحبط في البداية ، التوقف عن الاعتماد على The Loop ، لكن من السهل بما فيه الكفاية الانتقال إلى الماضي.
نظرًا لأنه قد يكون من الأسهل بالنسبة لبعض مطوري السمات ، عليك أن تأخذ الأمر بالطريقة التي يتم بها. لكن يمكنك كتابة الوظيفة بنفسك:
function get_output($function){
return call_user_func('get_'.$function);
}
كتابة get_the_title () هي أيضًا أقصر من كتابة get_output ('the_title') :)