WordPress Temaya Özel İçerik Ekleme Sayfası, Panel Dışında İçerik Eklemek

Ecancan 18 Şub 2015 Wordpress 1.637  0

WordPress içerik yönetim sisteminin günümüzdeki sitelerdeki kullanımın artması ile bir çok site sahibi yeni bir yazılım yazdırmak yerine wordpress sistemini sektörüne ve kendine göre özelleştirmektedirler. WordPress sisteminin de kolay geliştirebilir bir yapısı olduğundan bir çok özelliği dilediğimiz gibi fonksiyonlar yadımıyla yapabilmekteyiz. Bu konumda bu fonksiyonlardan yaralanarak temaya özel sayfa oluşturarak panel dışı bir listeleme yapacağız.

Öncelikle temaya özel bir sayfa oluşturmak için ne yapacağımıza bakalım.

Özel sayfa oluşturmak için kullanılan sayfa başı kod ;

[kod]

<?php

/* Template Name: İçerik Sayfası Ecancan.net */

?>

[/kod]

Yukarıdaki kodu tema için yeni bir php sayfası oluşturup en başına eklememis gereklidir oluşturduğumuz dosyayı tema dosyasının ana dizinine gönderdiğinizde wordpress te temanız için özel sayfayı tanımlanmış olacaktır. Artık geriye kalan tek şey bizim içerik eklemek için yazacağımız kodlar.

Öncelikle içerik eklemek için değerleri gireceğimiz bir HTML form oluşturalım.

 

<form action="" method="post">

<label for="">Yazı Başlığı</label>

<input type="text" name="yazi_basligi" required/><br>

<label for="">Yazı İçeriği</label>

<textarea name="icerik" id="" cols="30" rows="10" required/></textarea><br>

<label for="">Etiketler</label>

<input type="text" name="etiketler" required/><br>

<label for="">Kategoriler</label>

<?php

$kategoriler=get_categories(array('hide_empty' =>0));

foreach($kategoriler as $kategori){

?>

<input type="checkbox" name="kategori[]" value="<?php echo $kategori->cat_ID;?>"><?php echo $kategori->name;?>

<?php }?>

<br>

<input type="submit" value="Yazıyı Gönder">
</form>

Yukarıda kod betiğinde html olarak bir form oluşturmuş olduk. Bu form tasarımdan tasarıma şekil değişikliği gösterebilir.Şimdi yukarıda form elemetlerinin yanında php olarak kullanmış olduğum kod blogunda ne yaptığımızı anlatalım.

 

<?php

$kategoriler=get_categories(array('hide_empty' =>0));

foreach($kategoriler as $kategori){

?>

<input type="checkbox" name="kategori[]" value="<?php echo $kategori->cat_ID;?>"><?php echo $kategori->name;?>

<?php }?>

Öncelikle yukarıdaki içerik ekleme sayfasında kategorileri sayfamıza dahil etmek için get_categories() fonksiyonunu kullandık.Bu fonksiyonu da $kategoriler değişkeni içine tanımlamış olduk. Burada amacmız kategorilerin hepsini checkbox şeklinde listelmek. Bu arada ‘hide_empty’ =>0 komutu ile içerik olmayan kategorileride listeye dahil etmiş olduk. Ardından foreach döngüsü ilede $kategoriler değişkenini $kategori değişkeni olarak düzenledik. Ardından <?php echo $kategori->name;?> kodu ile kategori adını ve <?php echo $kategori->cat_ID;?> kodu ile de kategori ID sini yazdırmış olduk.

Bu formların post yapabilmesi için ise aşağıda vereceğim kod betiğini özel sayfaya yapıştırmanız yeterlidir.

<?php

$yazi_basligi= $_POST["yazi_basligi"];// yazı başlığı değişkene atanır.

$icerik=$_POST["icerik"];//icerik değişkene atanır.

$etiketler=$_POST["etiketler"];// etiketler değişkene atanır.

$kategoriler=$_POST["kategoriler"];//kategoriler değişkene atanır.

$parametreler = array(

'post_title' => $yazi_basligi,

'post_content' => $icerik,

'post_status' => 'draft',// taslak olarak gönderir. Bu bu yayınşanmış olarak göndermek için draft değerini publish olarak değiştirebilirsiniz bu durumda direkt olarak

'post_author' => 1,

'post_category' => $kategoriler,

'tags_input' => $etiketler

);

wp_insert_post($parametreler);

if ($_POST){

echo 'Başarıyla Gönderildi';

if (!$_POST){

echo 'Hata';

}

}else {

?>
<form action="" method="post">

<label for="">Yazı Başlığı</label>

<input type="text" name="yazi_basligi" required/><br>

<label for="">Yazı İçeriği</label>

<textarea name="icerik" id="" cols="30" rows="10" required/></textarea><br>

<label for="">Etiketler</label>

<input type="text" name="etiketler" required/><br>

<label for="">Kategoriler</label>

<?php

$kategoriler=get_categories(array('hide_empty' =>0));

foreach($kategoriler as $kategori){

?>

<input type="checkbox" name="kategori[]" value="<?php echo $kategori->cat_ID;?>" ><?php echo $kategori->name;?>

<?php }?>

Yukarda kod betiğinde ne yaptığımız yanında açıklamalar ile kısaca anlattım bu kod blogunu özel sayfaya ekleyerek.Tüm işlemleri gerçekleştirmiş olacaksınız.Bu sayede sizde içerikleriniz temanıza özel bir sayfada içerik ekleme işlemini gerçekleştirebilecksiniz. Ancak bu kod blogunun güvenliği için wp_stript_all_tags() fonksiyonu ile bir güvenlik sağlayalım.

<?php

$yazi_basligi= wp_strip_all_tags($_POST["yazi_basligi"]);// yazı başlığı değişkene atanır.

$icerik=$_POST["icerik"];//icerik değişkene atanır.

$etiketler=$_POST["etiketler"];// etiketler değişkene atanır.

$kategoriler=$_POST["kategoriler"];//kategoriler değişkene atanır.

$parametreler = array(

'post_title' => $yazi_basligi,

'post_content' => $icerik,

'post_status' => 'draft',// taslak olarak gönderir. Bu bu yayınşanmış olarak göndermek için draft değerini publish olarak değiştirebilirsiniz bu durumda direkt olarak

'post_author' => 1,

'post_category' => $kategoriler,

'tags_input' => $etiketler

);

wp_insert_post($parametreler);

if ($_POST){

echo 'Başarıyla Gönderildi';

if (!$_POST){

echo 'Hata';

}

}else {

?>
<form action="" method="post">

<label for="">Yazı Başlığı</label>

<input type="text" name="yazi_basligi" required/><br>

<label for="">Yazı İçeriği</label>

<textarea name="icerik" id="" cols="30" rows="10" required/></textarea><br>

<label for="">Etiketler</label>

<input type="text" name="etiketler" required/><br>

<label for="">Kategoriler</label>

<?php

$kategoriler=get_categories(array('hide_empty' =>0));

foreach($kategoriler as $kategori){

?>

<input type="checkbox" name="kategori[]" value="<?php echo $kategori->cat_ID;?>" ><?php echo $kategori->name;?>

<?php }?>

<br>

<input type="submit" value="Yazıyı Gönder">

</form>

<?php }

?>

Yukarıdaki işlemleri yaptığımızda artık güvenilir olarak bir içerik gönderme sistemini temaya eklemiş olduk. Artık wordpress paneline girmeden içerik ekleme özelliğini temaya kazandırmış olduk.

Makalemin sonun kadar okuduğunuz için teşekkür eder ve bir yorum ile destek verirseniz sevinirim.Soru ve sorunlarınız için konu altına yorum bırakabilir yada iletişim sayfasından bana mail gönderebilirsiniz. Bir başka konuda görüşmek üzere.

Ahmet CAN {Ecancan}

Kendi çapında bir şeyler yapmaya çalışan üniversite öğrencisi :)
Flexible WordPress Portal Teması
Hızlı ve Güvenli WordPress Nasıl Olur ?
WordPresste Kullanılmayan Resimleri Silmek
Optima Renkli WordPress Blog Teması – Responsive

“WordPress Temaya Özel İçerik Ekleme Sayfası, Panel Dışında İçerik Eklemek” üzerine 2 yorum

  1. Oya dedi ki:

    Yaklaşık 1 hafta kadar takip ediyorum hocam elinize sağlık blogunuz gerçekten fark edilir bir şekilde kaliteli. Hocam ayrıca dediklerinizi yaptım sorunsuz çalıştı elinize sağlık. Kendime göre düzenlemeye çalışacağım.

    1. Ecancan dedi ki:

      Teşekkür ederim isterseniz yan taraftaki abone ol bölümünden abone olabilirisiniz. Yeni yazılar otomatik mailinize gelir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir