WordPress'te Programlı Olarak Bir Yazı veya Sayfa Nasıl Oluşturulur?
Bir WordPress geliştiricisi olarak, programlı olarak WordPress gönderileri veya sayfaları oluşturmak benim için kolaydır. Ancak WordPress kullanıcılarının çoğu yeni başlayanlardır ve bunu zor bulurlar. Bu yüzden bu blog yazısını sizin için daha kolay hale getirmek için yazıyorum. Peki, WordPress'te Programlı bir sayfayı nasıl yapabilirim?
Programlı olarak bir gönderi veya sayfa oluşturmak için bu iki basit adımı takip edebilirsiniz.
1. Öncelikle mevcut temanızın functions.php dosyasına “ wp_insert_post ” kodunu girin.
2. Ardından, sayfanın veya gönderinin gerekli verilerini diziye eklemeniz gerekir. Örneğin, post_type , post_title , post_status , post_author ve post_name .
Neden Programlı Olarak Bir Gönderi veya Sayfa Oluşturmanız Gerekiyor?
Çoğu durumda, eklenti veya tema etkinleştirilirken dinamik bir sayfa oluşturmak gereklidir. Söylemeye gerek yok, bu, gönderinize veya sayfanıza fazladan bir kişilik katmanı verir. Bu şekilde her iki dünyanın da en iyisini elde edersiniz. WordPress'te, ön uçtan kolayca bir sayfa veya gönderi oluşturabilirsiniz. Ancak kodlayarak sayfa oluşturmak biraz uğraştırıcıdır. Bunu yapmak için tema işlevinize veya eklentinin PHP dosyasına bir kod koymanız gerekecek.
İki farklı yöntem kullanarak programlı olarak bir gönderi veya sayfa oluşturabilirsiniz. Kullanıcılarımızın rahatlığı için her iki yöntemi de ayrıntılı olarak açıklayacağız. Neyse lafı fazla uzatmadan konuya geçelim.
Yöntem 1: Ekle İşleviyle Programlı Olarak Bir Gönderi veya Sayfa Oluşturma
Öncelikle bu yöntemde wp_insert_post WordPress fonksiyonunu kullanmanız gerekecek. Herhangi bir gönderi oluşturmak için “ wp_insert_post ” adlı bu WordPress varsayılan işlevini kullanmanız gerekir. Programlı olarak bir WordPress sayfası eklemek için aşağıdaki kod parçacığına bakın.
$page_slug = 'test-page-title'; // Slug of the Post
$new_page = array(
'post_type' => 'page', // Post Type Slug eg: 'page', 'post'
'post_title' => 'Test Page Title', // Title of the Content
'post_content' => 'Test Page Content', // Content
'post_status' => 'publish', // Post Status
'post_author' => 1, // Post Author ID
'post_name' => $page_slug // Slug of the Post
);
if (!get_page_by_path( $page_slug, OBJECT, 'page')) { // Check If Page Not Exits
$new_page_id = wp_insert_post($new_page);
}
post_title ve post_content , herhangi bir gönderinin eklenmesi için gerekli temel argümanlardır. wp_insert_post işlevinin diğer önemli argümanlarından bazıları aşağıda verilmiştir.
- "post_author " : Yazar kimliğini yayınlayın.
- “ post_date “ : Gönderinin yayınlandığı zaman.
- " post_content " : Gönderinin içeriği.
- “ post_title “ : Gönderinin başlığı.
- “ post_name “ : Gönderinin kısa bilgisi .
- “ post_excerpt “ : Gönderinin alıntısı .
- " post_status " : Gönderi durumu.
- “ post_type “ : Yazı Tipi bilgisi.
- " comment_status " : Yorumlar açık mı değil mi?
- "post_category": Kategori Kimlikleri Dizisi.
- "tags_input": Etiket adları, sümüklü böcekler veya kimlikler dizisi. Varsayılan boş.
- "tax_input": Taksonomi adlarına göre anahtarlanmış sınıflandırma terimleri dizisi.
- "meta_input": Post meta anahtarı tarafından anahtarlanan post meta değerleri dizisi.
Bununla ilgili daha ayrıntılı talimatlar öğrenmek istiyorsanız, lütfen WordPress dokümantasyon sayfasını okuyun.
Yukarıda bahsedilen yöntemi beğenmediyseniz aşağıda sizi bekleyen başka bir yöntem daha var. İkinci yöntem hakkında bilgi edinmek için okumaya devam edin.

Yöntem 2: Veritabanı Sorgusu ile Programlı Olarak Bir Gönderi veya Sayfa Oluşturma
Yukarıdaki yöntemi kullanırken kolayca bir sayfa veya gönderi oluşturabilirsiniz, tek yol bu değildir. Bazılarınızın WordPress doğrudan SQL Sorgusu kullanarak nasıl yapılacağını öğrenmek isteyebileceğini biliyoruz. SQL aracılığıyla doğrudan veritabanına bir WordPress sayfası eklemek için aşağıdaki kod parçacığına bakın.
global $wpdb;
$tablename = $wpdb->prefix . "posts";
$post_type = "page";
$post_title = "Test Page Title2";
$post_content = "Test Page Content2";
$post_status = "publish";
$post_author = 1;
$post_name = "test-page-title2";
if (!get_page_by_path( $post_name, OBJECT, 'page')) { // Check If Page Not Exits
$sql = $wpdb->prepare("INSERT INTO `$tablename` (`post_type`, `post_title`, `post_content`, `post_status`, `post_author`, `post_name`) values (%s, %s, %s, %s, %d, %s)", $post_type, $post_title, $post_content, $post_status, $post_author, $post_name);
$wpdb->query($sql);
}
Burada $wpdb , WordPress veritabanının global değişkenidir. “Hazırla” işlevi, verileri doğrulamak ve bilgisayar korsanlarından SQL enjeksiyonunu önlemek için kullanılır. Öte yandan, “sorgu” doğrudan SQL'i çalıştırır.
Eklenti Aktivasyonundan Sonra Programlı Olarak Sayfa Oluşturma
Eklenti etkinleştirildikten sonra eklenti geliştiricisinin bir sayfa oluşturması gerekir. Eylem kancası, eklenti geliştiricisinin bunu yapmasına yardımcı olur. İşte örnek kod:
define( 'PLUGIN_FILE_PATH', __FILE__ );
register_activation_hook( PLUGIN_FILE_PATH, 'insert_page_on_activation' );
function insert_page_on_activation() {
if ( ! current_user_can( 'activate_plugins' ) ) return;
$page_slug = 'test-page-title'; // Slug of the Post
$new_page = array(
'post_type' => 'page', // Post Type Slug eg: 'page', 'post'
'post_title' => 'Test Page Title', // Title of the Content
'post_content' => 'Test Page Content', // Content
'post_status' => 'publish', // Post Status
'post_author' => 1, // Post Author ID
'post_name' => $page_slug // Slug of the Post
);
if (!get_page_by_path( $page_slug, OBJECT, 'page')) { // Check If Page Not Exits
$new_page_id = wp_insert_post($new_page);
}
}
Bu kodu eklentinizin ana PHP dosyasına ekleyebilirsiniz.
Tema Aktivasyonundan Sonra Programlı Sayfa Oluşturma
Tema aktivasyonundan sonra bir sayfa oluşturmak istiyorsanız bu koda ihtiyacınız olacak. Tek yapmanız gereken bu kodu doğrudan temanızın function.php dosyasına eklemek.
add_action( 'after_switch_theme', 'insert_page_on_theme_activation' );
function insert_page_on_theme_activation() {
$page_slug = 'test-page-title'; // Slug of the Post
$new_page = array(
'post_type' => 'page', // Post Type Slug eg: 'page', 'post'
'post_title' => 'Test Page Title', // Title of the Content
'post_content' => 'Test Page Content', // Content
'post_status' => 'publish', // Post Status
'post_author' => 1, // Post Author ID
'post_name' => $page_slug // Slug of the Post
);
if (!get_page_by_path( $page_slug, OBJECT, 'page')) { // Check If Page Not Exits
$new_page_id = wp_insert_post($new_page);
}
}
Programlı olarak bir gönderi veya sayfa oluşturabilmek, size bir başlangıç yapmak için çok ihtiyaç duyulan desteği sağlar. Günlük 547200 web sitesinin oluşturulduğu bir dünyada, bu sizin için boşluk olabilir. PostX – Gutenberg Post Blocks ile hem eklentinin hem de özel kodlamanın avantajlarından yararlanırsınız. Burada WPXPO'da hedefimiz mümkün olan en iyi hizmeti sunmaktır. Daha fazla istek için bizimle iletişime geçmekten çekinmeyin. Daha benzer kolay nasıl yapılır elde etmek için bilgilendirici makaleler blogumuzu ziyaret etmeye devam ediyor.
ev borcu WordPress sitesi