PHP ile bir Arşiv Sayfası Yapma

Bence çoğu web sitesi bir HTML site haritası (ayrıca “Arşiv” veya “Arşivler” denir) sahip olmalıdır. Bu temelde sitenin diğer tüm sayfalara bağlantı içeren bir sayfadır. Bir blog durumunda tüm günlüğü gönderileri için bir bağlantı içerecektir.

Böyle HTML sitemap için arama motorları ve insan ziyaretçiler için hem de faydalıdır. Bu web sitesinin tüm içeriği taramasını kolay olur, çünkü arama motorları bundan yararlanacak. İnsan ziyaretçiler, benzer, hızlı bir şekilde belirli bir ay / gün / yıl yayımlanan bir yazı için bakmak mümkün hale gelir. Bağlantınız suyu tüm sayfalarına yayılır gibi bir SEO yarar var üstünde.

Ben SGR Temizlik Archives adlı bir eklenti kullanmak ve tavsiye için kullanılan böyle bir “Arşivler” sayfasını oluşturmak için. Bu eklenti, ancak oldukça eski olduğunu ve bir süre önce güncellenen durdu.

Sonra birkaç gün önce benim tavsiye aldı ve eklentisi kullanarak bir okuyucu e-posta aldım. Onun sunucu zamanlarda gerçekten yavaş başlamıştı söyledi, ve daha fazla araştırma üzerine onlar eklenti sunucu döverek ve yavaşlık neden olduğunu keşfetti.

O da benim kendi “Arşivler” sayfa artık çalışmıyor dikkat çekti. Lanet olsun! Benim tahminim WordPress‘in son sürümlerinde eklenti kodu yavaş ve etkisiz hale olmasıdır.

Neyse ben bir alternatif bulmak gerekiyordu. Performans burada çok önemli bir yönü olduğu için ben ham PHP ve WordPress fonksiyonlarını kullanarak kendi “Arşiv” sayfasında uygulamaya karar verdi. Bu kolay bir görev olduğu ortaya çıktı:

1. Bir Şablon Oluşturma

İlk adım I “Arşivler Page” için kullanmak istiyorsunuz sayfası şablon oluşturmak oldu. Temelde normal bir sayfaya (genellikle page.php) yapısı kopyalanır, ve üstüne aşağıdaki kod parçası eklendi:

<?php
/*
Template Name: Archives
*/
?>

 

2.PHP kodu ekleyin

Bundan sonra, normal içerik çıkış kod parçası kaldırılır:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(__('Read more'));?>
<?php endwhile; else: ?>
<?php endif; ?>

Ve yayınlanan tüm mesajların bağlantıları çıktı kendi PHP kodu ile değiştirin:

<h1>Archives</h1>
<ul>
<?php
$args = array( 'numberposts' => 1000 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

3.Sayfa Oluştur

Bundan sonra yapmanız gereken tüm WordPress içinde bir sayfa oluştur ve onu “Arşivler” şablonu kullanmak yapmaktır. Hepsi bu kadar.

Ben şu anda benim arşiv sayfasında bu kodu kullanıyorum. Ben mutlu değilim tek şey tüm bağlantılar karıştırılır olmasıdır. Ben daha kolay insanlar onlar için ne arıyorsanız bulmak için yapmak için, ay ay onları ayırmak istiyorum.

Ben bu sorunu çözmek kısa sürede ben bir güncelleştirme göndeririz, bu nedenle bizden ayrılmayın.

Güncelleme: Nedense Yukarıdaki kodu 2000 + gönderi ile çalışma değildi. 1000 veya daha az ile olsa çalışıyor. Ben bu yana 2000’den fazla mesaj ben aşağıdaki kod ile, aylık sayfalara bağlantılar içeren basit bir arşiv için seçti yayınladı:

<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>