Neler yeni

Hoşgeldin Ziyaretçi

Kayıt olarak forumumuzdan dosya indirebilir,bilgi sahibi olabilir,daha iyi bir şekilde yararlanabilirsin.

Şimdi kayıt ol

WordPress Kenar Çubuğunuzdaki Arşivlerinin Görüntülenmesini Özelleştirme

wordpresstr

Administrator
Yönetici
89
13 Kas 2020
on zamanlarda, kenar çubuğunda yıllara göre düzenlenen aylık arşivleri görüntülememizi gerektiren bir müşterinin site tasarımı üzerinde çalışıyorduk. Muhtemelen tasarımcıları için Photoshop'ta alay etmek gerçekten kolaydı, ancak WordPress'te bunu başarmak biraz karmaşıktı. Aşağıdaki resme bakın:

WordPress Kenar Çubuğunda Özel Arşivler Görünümü



Wp_get_archives () işlevinin stilini özelleştirmenin gerçek bir yolu yoktur.
Çözümler için web'e baktık ve hiçbir şeyle karşılaşmadık. Bu sorunun gerçekten nadir olması gerekir, ancak Andrew Appleton'da benzer bir sorun olduğunu ve bunun için bir düzeltme yaptığını gördük . Kodlarını küçük bir değişiklik ile kullandık.
Andrew'un kodunun arşivler için bir sınır parametresi yoktu. Yani onun kodlarını kullanmak, tüm arşivleri ay boyunca göstereceğiniz anlamına gelir. Bunu 5 yıllık bir blog için hayal edin. Bu nedenle, herhangi bir zamanda görüntülenen ay sayısını 18 ile sınırlamamıza izin veren bir sınır parametresi ekledik.
Yani temel olarak yapmanız gereken, aşağıdaki kodu temanızın sidebar.php dosyasına veya özel WordPress arşivlerini görüntülemek istediğiniz başka bir dosyaya yapıştırmaktır :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
global $wpdb;
$limit = 0;
$year_prev = null;
$months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
foreach($months as $month) :
$year_current = $month->year;
if ($year_current != $year_prev){
if ($year_prev != null){?>

<?php } ?>

<li class="archive-year"><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"><?php echo $month->year; ?></a></li>

<?php } ?>
<li><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><span class="archive-month"><?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></span></a></li>
<?php $year_prev = $year_current;

if(++$limit >= 18) { break; }

endforeach; ?>
Not: Görüntülenen ay sayısını değiştirmek isterseniz, mevcut $ limit değerinin 18 olarak ayarlandığı 19. satırı değiştirmeniz gerekir.
CSS'miz biraz şuna benziyordu:
1
2
3
4
5
6
.widget-archive{padding: 0 0 40px 0; float: left; width: 235px;}
.widget-archive ul {margin: 0;}
.widget-archive li {margin: 0; padding: 0;}
.widget-archive li a{ border-left: 1px solid #d6d7d7; padding: 5px 0 3px 10px; margin: 0 0 0 55px; display: block;}
li.archive-year{float: left; font-family: Helvetica, Arial, san-serif; padding: 5px 0 3px 10px; color:#ed1a1c;}
li.archive-year a{color:#ed1a1c; margin: 0; border: 0px; padding: 0;}
Yani bunu bu şekilde yaparak, şuna benzeyen nihai sonuca sahip olduk:
WordPress Kenar Çubuğunda Özel Arşivler Görünümü


Şimdi, her aydaki gönderi sayısını göstermek istiyorsanız, bu kod parçasını yukarıdaki kodun 12-16. Satırları arasında herhangi bir yere eklemeniz gerekir:

1<?php echo $month->post_count; ?>
Gönderi sayısıyla neler yapabileceğinize dair bir örnek ve her şey aşağıdaki resimde görülebilir:
Gönderi Sayımlı Özel WordPress Arşivleri Ekranı
 
Üst