سؤال

أحاول تعديل القليل من 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top