Wordpress Özellik Kodlatılacak
-
Merhaba bir müşterim temasına özellik kodlatmak istiyor tema generatepress
İstenen özellik şu :
Paylaşılan yazıların içerisinde resimler mevcut bu resimler siteye yüklü değil cdn de yer alıyor img src olarak verilmiş yazı içerisinde istenen özellik otomatik olarak bu resmi alıp öne çıkan görsel olarak kullanmak biz ekstra resim seçmek zorunda kalmayalım
Eğer öne çıkan görsel seçilmiş ise seçileni kullansın yoksa yazının içerisindeki ilk img in src sini alıp öne çıkan görsele versin
------
Diğer özellik ise kategoriye özel yazı sabitleme
X yazısını paylaştık şu kategoriye sabitle dedik oraya sabitleyecek sadece
TheAvenqer tarafından 26/Nis/24 01:23 tarihinde düzenlenmiştir -
PHP ile döngü içerisinde veya single.php'de post_id yi alıver hacı.
Öne çıkan görsel var ise $featured_image'a ata. Yoksa yazı içerisindeki (960x540 çözünürlük üzeri olan) ilk görseli al $featured_image'a onu koy.
Sonra da temanda ister döngü içinde, ister tepede göster.
$post_id = get_the_ID(); if (has_post_thumbnail($post_id)) { $thumbnail_id = get_post_thumbnail_id($post_id); $image_url = wp_get_attachment_image_src($thumbnail_id, 'full'); $featured_image = $image_url[0]; } else { $args = array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 1, 'meta_query' => array( array( 'key' => '_wp_attachment_metadata', 'compare' => 'LIKE' ) ) ); $attachments = get_children($args); if ($attachments) { foreach ($attachments as $attachment_id => $attachment) { $image_data = wp_get_attachment_image_src($attachment_id, 'full'); $image_width = $image_data[1]; $image_height = $image_data[2]; if ($image_width >= 960 && $image_height >= 540) { $featured_image = $image_data[0]; break; } } } }
He hepsine bunu yapmak istiyorsan wp_cron kullanabilirsin veya herhangi bir yerde bunu döngüye alıp tüm postlar için de yapabilirsin.
-
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
EnableTurk tarafından 26/Nis/24 01:32 tarihinde düzenlenmiştir -
EnableTurk bunu yazdı
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
Eyw hocam anlatımın için çok güzel özetlemişsin işimi çözdün galiba bilgisayara geçtiğim ilk an deneyeceğim peki geçmiş yazılar çok önemli değil sonrakiler için bunu set gibi kalıcı olarak yapmak istersek
Panelden yazı eklerken kaydette bastığımızda post attığı yer neresi direkt oraya müdahale etsem nasıl olur her kullanıcı için tekrar tekrar aynı işlemi yapmasın diye
-
EnableTurk bunu yazdı
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
sen baya developer oldun :p
-
yolbulucu bunu yazdıEnableTurk bunu yazdı
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
sen baya developer oldun :p
Herseye nokta cevap veriyor bayagidir vallahi
Adam king
-
yolbulucu bunu yazdıEnableTurk bunu yazdı
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
sen baya developer oldun :p
@TheAvenqer : Dediğin şekilde save_post kancası kullanılabiliyor ama tavsiye etmem ya onu. Dinamik olarak kullanman daha iyi olur kanaatindeyim. O hep bi arıza yarattı bana bu güne dek. Ama yine de öyle olsun istersen elimdeki örneklere bakarım?
@yolbulucu : dolandırıla dolandırıla :D
@LaNCeLoT : teşekkür ederim hacı abi <3
-
EnableTurk bunu yazdıyolbulucu bunu yazdıEnableTurk bunu yazdı
Bu arada attachment_id ile de öne çıkan görseli olmayana bunu kalıcı olarak update edebilirsin.
set_post_thumbnail($post_id, $attachment_id);
edit: bunu tabi döngünün kırıldığı yerden önce yap. İlk imajı bulduğunda ve çözünürlük koşuluna uyduğunda.
sen baya developer oldun :p
@TheAvenqer : Dediğin şekilde save_post kancası kullanılabiliyor ama tavsiye etmem ya onu. Dinamik olarak kullanman daha iyi olur kanaatindeyim. O hep bi arıza yarattı bana bu güne dek. Ama yine de öyle olsun istersen elimdeki örneklere bakarım?
@yolbulucu : dolandırıla dolandırıla :D
@LaNCeLoT : teşekkür ederim hacı abi <3
faydamız dokunduysa ne mutlu 😎
-
-