WordPress'te programlı olarak yazılar ve sayfalar nasıl oluşturulur?

Yayınlanan: 2021-09-16

Sitenize yazı ve sayfa eklemek için bir alternatif mi arıyorsunuz? Doğru yere geldiniz. Bu kılavuzda, WordPress'te programlı olarak nasıl yazı ve sayfa oluşturacağınızı göstereceğiz.

Dünyanın en büyük İçerik Yönetim Sistemi (CMS) olarak, yazı ve sayfa yayınlamak, onun temel özelliklerinden biridir. Başlangıçta WordPress, web sitesi sahiplerinin sitelerini oluşturmasına ve yönetmesine yardımcı olmak için oluşturuldu. Günümüzde, her türlü site için eksiksiz bir çözüm haline gelmiştir.

Bloglar ve çevrimiçi mağazalar arasında popüler olmanın yanı sıra, kataloglardan dizinlere, iş panolarına, wiki'lere, kişisel portföylere, forumlara ve hatta sosyal medya ağlarına kadar WordPress ile oluşturulmuş birçok başka web sitesi türü vardır.

Tüm web siteleri (statik siteler hariç) belirli bir sıklıkta bir tür içerik yayınlar. Gönderiler ve sayfalar, ürünler, yorumlar, incelemeler ve daha fazlası gibi diğer türlere kıyasla en temel içerik türüdür.

Programlı olarak gönderilerin ve sayfaların neden ve nasıl oluşturulacağını görmeden önce, aralarındaki farkları daha iyi anlayalım. Bu, iyi uygulamaları izlemenize ve olası sorunlardan kaçınmanıza yardımcı olacaktır.

Yazı ve sayfalar arasındaki fark

1) Gönderiler

WordPress'te gönderiler, bir web sitesinin kullanıcılarına değerli ve güncel içerik sunma şeklidir. Bir web sitesinin düzenli olarak gönderiler yayınlaması beklenir, ancak sitenin türüne göre çok değişiklik gösterir. Bir haber blogu, kurumsal bir siteden çok daha sık içerik yayınlayacaktır, bu nedenle bir web sitesindeki gönderilerin sayısı çok değişebilir.

Gönderiler genellikle web sitelerinde ters kronolojik sırada listelenir. Bu, en son yayınlanan gönderinin listenin en üstünde görüneceği anlamına gelir. Ancak bir gönderiyi yapışkan hale getirebilir ve web sitenizde kalıcı olarak görüntüleyebilirsiniz.

Yüzlerce hatta binlerce gönderi içeren büyük bir siteniz olduğunda, sınıflandırmaların doğru kullanımı, kullanıcıların herhangi bir gönderiyi kolaylıkla bulmasını sağlamak için anahtardır. Kategoriler ve alt kategoriler arasında gezineceklerini, etiket listesine bakacaklarını ve arama kutusunu kullanacaklarını unutmayın. Bununla ilgili daha fazla bilgi için, menüye nasıl kategori ekleneceğiyle ilgili yazımıza göz atın.

2) Sayfalar

Gönderilerin aksine, sayfaların gönderilerden daha statik olması amaçlanmıştır. Ancak, genellikle sürekli güncellenen içeriği içerirler. Örneğin, bir mağaza sayfası veya kategori sayfası kesinlikle güncellenmiş içeriğe sahip olacaktır, ancak her ürün güncellemesi için yeni bir mağaza sayfası yayınlamadığınız için bunlar yine de sayfalardır.

“Hakkımızda”, “Biz Kimiz”, “İletişim” veya “Belgeler” gibi sayfalar çoğunlukla statik içeriktir, bu nedenle genellikle çok sık güncellenmezler.

Yazılar ve sayfalar arasındaki diğer bir fark da etiketler ve kategorilerdir. Gönderiler, organizasyonlarını kolaylaştırmak ve arama kutularında kullanılmak üzere kategorilere ve etiketlere sahip olabilirken, sayfalar taksonomiden yoksundur.

Bununla ilgili daha fazla bilgi için sayfa oluşturmanın farklı yollarını açıklayan kılavuzumuza göz atın. Ek olarak, WordPress'teki gönderi türünü değiştirmek için eğiticimize bir göz atmanızı öneririz.

Neden programlı olarak gönderiler ve sayfalar oluşturmalısınız?

Muhtemelen WordPress kontrol panelinden nasıl yazı ve sayfa oluşturacağınızı biliyorsunuzdur. Gönderiler/Sayfalar > Yeni Ekle'ye gitmeniz ve bir ad, içerik eklemeniz, bir kategori seçmeniz vb.

Ancak, daha gelişmiş bir proje üzerinde çalışıyorsanız, alternatif bir çözüme ihtiyacınız olabilir. Örneğin, belirli bir gereksinimi karşılamak veya belirli kullanıcılar için erişimi kısıtlamak için yayınlama sürecini otomatikleştirmeniz gerekiyorsa. Durumunuz buysa, programlı olarak WordPress gönderileri ve sayfaları oluşturmayı öğrenmek çok faydalı olacaktır.

WordPress gönderileri ve sayfaları programlı olarak nasıl yayınlanır?

Bu bölümde, WordPress'te programlı olarak nasıl yazı ve sayfa oluşturacağınızı göstereceğiz. Aşağıdaki kodu açıklayacağız, ancak süreci kolaylaştırmak için bazı programlama becerilerine sahip olmanız önerilir.

NOT : Bazı çekirdek dosyaları düzenleyeceğimiz için başlamadan önce sitenizi yedeklemenizi öneririz. Bunun da ötesinde, henüz yoksa bir alt tema oluşturun veya bu alt tema eklentilerinden herhangi birini kullanın.

gönderiler nasıl yayınlanır

İşte otomatik olarak bir gönderi yayınlayacak tam komut dosyası ve aşağıdaki kodun açıklaması. Kodu, alt temanızın functions.php dosyasına yapıştırmanız gerektiğini unutmayın.

 add_action('admin_init', 'QuadLayers_publish_post');

function QuadLayers_publish_post() {
 
    if ( get_option( 'post_is_published_01' ) != 'evet' ) {
		 $postType = 'gönder'; 
		 $kullanıcıKimliği = 1; 
		 $kategoriID = '1'; 
		 $postStatus = 'yayınla';  
		 $leadTitle = 'Bir gönderi yayınlandı '.date("n/g/Y");
		 $leadContent = '<h1>Programlı olarak yayınlandı</h1><p>Bu gönderi programlı olarak yayınlandı ve meta seçeneği <b>post_is_published_01</b> olarak kaydedildi. Alt temanın functions.php dosyasında bir PHP kodu.</p>';
		 $leadContent .= ' <!--more--><p>Pahalıdırlar, ancak buna kesinlikle değer.</p>';
		 
		 # inşa zamanı ve tarihi
		 $timeStamp = $dakikaSayacı = 0;  
		 $iCounter = 1; 
		 $dakikaArtış = 1; 
		 $adjustClockMinutes = 0; 
		 $dakikaCounter = $iCounter * $dakikaArtış; 
		 $dakikaSayacı = $dakikaSayacı + $adjustClockMinutes; 
		 $timeStamp = tarih('Ymd H:i:s', strtotime("+$dakikaSayaç dk")); 

	 	 # gönderi oluştur
		 $new_post = dizi(
		 'post_title' => $leadTitle,
		 'post_content' => $leadContent,
		 'post_status' => $postStatus,
		 'post_date' => $timeStamp,
		 'post_author' => $userID,
		 'post_type' => $postType,
		 'post_category' => dizi($categoryID)
		 );	
		 #yayınlayın!
		 $post_id = wp_insert_post($new_post);

  update_option('post_is_published_01', 'evet');
    }
}

Bir gönderiyi yayınlamadan önce var olup olmadığını bilemediğimiz için yazımızın yayınlandığı bir yere kayıt olmamız gerekiyor. Bunu yapmazsak her backend ekranı yüklendiğinde yazımız yayınlanacaktır.

Veritabanının seçenekler tablosu bunu yapmak için doğru yerdir. post_is_published_01 yayınladıktan sonra update_option() işleviyle post_is_published_01 adlı bir seçeneği saklıyoruz. Ve seçeneğin get_option() ile olup olmadığını kontrol edin. Veritabanında bu seçenek varsa, komut dosyası hiçbir şey yapmayacaktır.

Komut dosyasını yeniden çalıştırmak için, seçeneğin adını post_is_published_02 veya istediğiniz herhangi bir şekilde değiştirebilirsiniz.

if() koşulunun içinde, ilk blokta gönderinin içeriğini nasıl tanımladığımızı görebilirsiniz. Ve WordPress gereksinimlerine uygun saat ve tarihi hazırlamamız gerekiyor.

Son olarak, post yayınlamadan sorumlu işlev, işlevde bildirilen önceki tüm verileri ekleyen wp_insert_post() işlevidir.

gönderiyi programlı olarak yayınla

Sayfalar nasıl yayınlanır

Sayfaları programlı olarak yayınlamak biraz daha basittir. Bu komut dosyasında, sayfanın zaten yayınlanıp yayınlanmadığını kontrol etmek için bir veritabanı seçeneği olmayacağız.

Sayfaların gönderilerden farklı bir işlevi olduğundan ve gönderiler ve sayfalar için WordPress işlevleri farklı olduğundan, daha önce aynı başlıkta bir sayfa yayınlayıp yayınlamadığımızı kontrol etmek için get_page_by_title() işlevini kullanabiliriz. Ardından sayfa ile ilgili yazar, başlık, isim vb. bilgileri ekliyoruz.

WordPress web sitenizde bir sayfa yayınlamak için aşağıdaki komut dosyasını kullanın:

 add_action('admin_init', 'QuadLayers_publish_page');

function QuadLayers_publish_page(){
	$check_page_exist = get_page_by_title('Sayfa programlı olarak yayınlandı', 'OBJECT', 'sayfa');
	if(boş($check_page_exist)) {
		$page_id = wp_insert_post(
			sıralamak(
			'comment_status' => 'kapat',
			'ping_status' => 'kapat',
			'post_author' => 1,
			'post_title' => ucwords('Sayfa programlı olarak yayınlandı'),
			'post_name' => strtolower(str_replace(' ', '-', trim('Sayfa programlı olarak yayınlandı'))),
			'post_status' => 'yayınla',
			'post_content' => '<p>Bu, sayfanın içeriğidir, burada html etiketlerine izin verilir</p>', 
                        'post_type' => 'sayfa', 'post_parent' => 'id_of_the_parent_page_if_it_available' ) ); 
        } 
} 

sayfayı programlı olarak yayınla

Çözüm

Özetle, bu kılavuzda gönderiler ve sayfalar arasında bazı önemli farklılıklar gördük. Gönderiler daha dinamik olma ve sınıflandırma ve kategorilere sahip olma eğilimindedir, oysa sayfalar daha statik olma eğilimindedir ve sınıflandırmaları yoktur.

WordPress'te yerleşik düzenleyiciyle kolayca sayfalar ve gönderiler oluşturabilseniz de, bunu biraz kodlama ile yapmayı öğrenmek, bazı durumlarda belirli gereksinimleri karşılayacak şekilde yayınlama sürecini otomatikleştirmek için yararlı olabilir. Durumunuz buysa, programlı olarak gönderiler ve sayfalar oluşturmayı öğrenmek hayatınızı kolaylaştırabilir.

Bu kılavuzda, yazıların ve sayfaların nasıl oluşturulacağını ve komut dosyalarındaki farklılıkları gördük. Bu komut dosyalarını temel alarak siteniz için özelleştirmenizi öneririz.

Biraz kod içeren gönderiler ve sayfalar oluşturmayı denediniz mi? Beklediğiniz gibi çalıştı mı? Aşağıdaki yorumlar bölümünde bize bildirin!

Bu gönderiyi beğendiyseniz, şunlar da ilginizi çekebilir:

  • WordPress sayfası nasıl yönlendirilir
  • WordPress'te yazı türü nasıl dönüştürülür
  • Programlı olarak WordPress özel gönderi türü oluşturma kılavuzu