İlgili gönderiler eklentilerle kolayca görüntülenebilir, ancak bir Eklenti kullanmadan Küçük Resim ile ilgili gönderileri nasıl görüntüleyebileceğinizi hiç merak ettiniz mi? Bu yazıda, küçük resimlerle ilgili gönderiler oluşturmak ve herhangi bir eklenti kullanmaktan kaçınmak için kullanabileceğiniz iki farklı algoritmayı paylaşacağız.
Not: Yerleşik WordPress Post Küçük Resim İşlevini kullanacağız. Bu yüzden bunu uygulamanız en iyisidir.
Etiketli İlgili Mesajlar
WordPress, kullanabileceğiniz “Yazı Etiketleri” olarak bilinen bu harika sınıflandırmaya sahiptir. Gönderilerinizin her birini birden çok anahtar kelimeyle etiketleyebilirsiniz. Bu algoritma, mevcut gönderinin sahip olduğu herhangi bir etikete sahip diğer yayınları bulur ve bunları listeler.
<? php $ orig_post = $ gönderi;
global $ post;
$ etiketler = wp_get_post_tags ($ post-> ID);
eğer ($ etiketler) {
$ tag_ids = array ();
foreach ($ Individual_tag olarak $ etiketler) $ tag_ids [] = $ Individual_tag-> term_id;
$ bağımsız değişken = dizi (
‘tag__in’ => $ tag_ids,
‘post__not_in’ => dizi ($ post-> ID),
‘posts_per_page’ => 5, // Gösterilecek ilgili yazıların sayısı.
‘ignore_sticky_posts’ => 1
);
$ my_query = yeni wp_query ($ değiştirgeler);
eğer ($ my_query-> have_posts ()) {
echo ‘<div id = “relatedposts”> <h3> İlgili Gönderiler </h3> <ul>’;
while ($ my_query-> have_posts ()) {
$ my_query-> the_post (); ?>
<li> <div class = “relatedthumb”> <a href=”<?php the_permalink()?> “rel =” bookmark “title =” <? php the_title ();?> “> <? php the_post_thumbnail () ; ?> </a> </div>
<div class = “relatedcontent”>
<h3> <a href=”<?php the_permalink()?> “rel =” bookmark “title =” <? php the_title ();?> “> <? php the_title (); ?> </a> </h3>
<? php the_time (‘M j, Y’)?>
</div>
</li>
<? php}
echo ‘</ul> </div>’;
}
}
$ gönderi = $ orig_post;
wp_reset_query (); ?>
Yukarıdaki kod, geçerli gönderi kimliğine ve onunla ilişkili tüm etiketlere bakar ve herhangi bir orijinal etiketle eşleşen diğer tüm gönderileri aramak ve bunları görüntülemek için wp_query işlevini kullanır. Gönderiyi istediğiniz gibi şekillendirebilirsiniz.
Avantaj: Web’deki çoğu kod, ana post döngüsü içinde kullanılamaz. İlgili gönderiler ana yazının hemen sonrasına ve yorumların üzerine yerleştirildiği için bu kod çok faydalıdır. Ana döngünün mevcut posta kimliğini kaydediyor ve ilgili gönderi kodumuzun sonunda geri çağırıyoruz. Genellikle bunu bu şekilde yapmadığınızda, iki posta kimliği kodu karışır ve ardından yorumlar garip davranmaya başlar, bu da yorumları bozabilir, numaralandırma sistemi gibi yorumlarla ilgili diğer eklentiler vb. Yani bu kod iyidir ve o İşler.
Kullanım: Bu kodu single.php dosyanızda istediğiniz yere yerleştirin ve çalışacaktır. Ancak çoğu zaman ana döngüdeki yorumların hemen üstüne yerleştirilir.
Kategoriye Göre İlgili Yazılar
Bu algoritma, mevcut gönderi ile aynı kategorideki diğer gönderileri bulacak ve bunları ilgili gönderiler olarak listeleyecektir. Bu tekniğin avantajı, ilgili yazılar bölümünüz için asla boş bir yeriniz olmayacak olmasıdır.
<? php $ orig_post = $ gönderi;
global $ post;
$ kategoriler = get_the_category ($ post-> ID);
eğer ($ kategoriler) {
$ kategori_ids = array ();
foreach ($ bireysel_kategori olarak $ kategoriler) $ kategori_ids [] = $ bireysel_kategori-> term_id;
$ bağımsız değişken = dizi (
‘category__in’ => $ category_ids,
‘post__not_in’ => dizi ($ post-> ID),
‘posts_per_page’ => 2, // Gösterilecek ilgili yazıların sayısı.
‘ignore_sticky_posts’ => 1
);
$ my_query = yeni wp_query ($ değiştirgeler);
eğer ($ my_query-> have_posts ()) {
echo ‘<div id = “related_posts”> <h3> İlgili Gönderiler </h3> <ul>’;
while ($ my_query-> have_posts ()) {
$ my_query-> the_post ();?>
<li> <div class = “relatedthumb”> <a href=”<?php the_permalink()?> “rel =” bookmark “title =” <? php the_title ();?> “> <? php the_post_thumbnail () ; ?> </a> </div>
<div class = “relatedcontent”>
<h3> <a href=”<?php the_permalink()?> “rel =” bookmark “title =” <? php the_title ();?> “> <? php the_title (); ?> </a> </h3>
<? php the_time (‘M j, Y’)?>
</div>
</li>
<?
}
echo ‘</ul> </div>’;
}
}
$ gönderi = $ orig_post;
wp_reset_query (); ?>
Bu teknik, sadece farklı kriterleri kullanmamız dışında yukarıdaki ile aynı işlevleri kullanır.
Yeni bir proje oluşturuyorsanız veya bir müşterinin sitesinde çalışıyorsanız, bu çok yardımcı olabilir.
Misal
Ek Kaynaklar: