Burada oldukça bariz bir şeyi kaçırmam gerektiğini hissediyorum, ancak WordPress'in işbirliği yapmasını sağlayamıyorum.
Bir işlevle Facebook OG etiketleri üretiyorum. Alıntı dışında her şey yolunda gidiyor.
Kullanımdan kaldırıldığından beri, get_the_excerpt($post->ID)
tamamen yeni bir döngü oluşturmadan bir alıntı oluşturmanın başka bir yolu var mı? Bana aşırı geliyor.
İlk içgüdüm kullanmaktı apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Bu bana HTML biçiminde içerikle dolu tam gönderi veriyor. Tamam, yanlış olmalı. Bu yüzden bir sonraki mantıklı fikri denedim:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
Nafile. Şimdi HTML yok, ama yine de tam gönderi (gerçekten kafa karıştırıcı).
Tamam sorun yok. Tüm fantezi şeyleri atlayalım ve sadece kesilmiş girişi seçelim:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Değişiklik yok.
Benim sorum şu: ne oluyor? Burada eksik olduğum bir şey var mı?
Nasıl the_excerpt()
çalıştığını bulmak için WP çekirdeğine girdim ve aramamla aynı görünüyor:
/**
* Display the post excerpt.
*
* @since 0.71
* @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
*/
function the_excerpt() {
echo apply_filters('the_excerpt', get_the_excerpt());
}
Bulgularıma dayanarak birkaç sorum var:
- Filtre neden beklendiği gibi uygulanmıyor?
- Yeni bir döngü oluşturmadan alıntıyı döngü dışında almanın bir yolu var mı?
- Ben deli miyim?
Bir göz attığınız için şimdiden teşekkür ederiz. Burada oldukça güldüm.
get_the_excerpt()
kullanımdan kaldırılmamışsa, yalnızca kendisine geçirilen ekstra param artık kullanılmamaktadır.