سؤال
أحاول تعديل القليل من WordPress ، لكنني المستوى 0 في PHP ، لذلك أنا تمتص نوعًا ما:/
أرغب في إضافة زر "تغريدة هذا" مخصص (أعرف أن هناك بالفعل مجموعة من الجازيليون ، أردت فقط أن أفعل ذلك بمفردي ، من أجل المتعة)
لذا ، أحاول هذا:
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
يعود the_excerpt () "<p> ... excerpt ... </p>"
ودالة Strip_tags لا تجرد هؤلاء <p>
علامات!
ماذا أفعل الخطأ ؟
شكرا ، وآسف إذا كان ذلك واضحا.
المحلول
مشكلتك هي ذلك the_excerpt()
لا يعيد محتوياته إلى strip_tags()
, ، لكن يخرجه مباشرة باستخدام echo
. لذا strip_tags()
(والتي ستحتاج إلى سابقة echo
بالمناسبة للقيام بأي عمل) لا يمكن فعل أي شيء.
يستخدم get_the_excerpt () بدلاً من ذلك (تم إدخال كسر الخط للوضوح ، قم بإزالة عند استخدام):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
بالمناسبة ، أود أيضا urlencode()
المقتطف ، أنت ملزم أن تواجه مشكلة وإلا إذا كان يحتوي على "
اقتباسات مزدوجة أو شخصيات مضحكة أخرى.
نصائح أخرى
هذا لا يبدو صحيحا بالفطرة السليمة: <?php strip_tags(the_excerpt()) ?>
, ، ثم أوضح مستند WP ، وثيقة واجهة برمجة تطبيقات the_excerpt, ، قال إنه يردد بدلاً من إعادته. حسنا ، الاستخدام ob_start
إلى الحل.
ob_start("callback");
the_excerpt();
$excerpt = ob_get_contents();
?>
<a href="http://twitter.com/home?status=<?php echo strip_tags($excerpt) ?>" >tweet this</a>
<?php
ملاحظة: ليس لدي أي تجربة واجهة برمجة تطبيقات WordPress.