Caner Portal Reklam AlanıSektörünüzü burada tanıtınBanner reklam, sponsor içerik ve firma tanıtımı için uygun alan.Reklam Ver

WordPress Temanıza Admin Tema Paneli Yapımı

Yeni bir wordpress tema yaptınız ya da kullandığınız temada admin paneli yani tema paneli yoksa çok kısa sürede bunu yapabilirsiniz. Çalışma mantığı çok basittir. Kullanılacak kısa kod tanımlamalarını bildikten ve bir defa uyguladıktan sonra artık her tema için aynı işlemde yapabilirsiniz. Ben hem wordpress tema yapımını, hemde bu tip ayarlamaları yabancı tema kodları ile öğrendim. Tema panel yapımını bu yüzden ayrıntılı anlatacağım. Bu denli bir anlatıma Türkçe kaynaklar içinde hiç rastlamadım.

Panelden tüm ayarları yapabilirsiniz. İstediğiniz kategori sekmesini açabilirsiniz. Yapmanız gereken işlemlerde örnek ile gidelim.

Sitenin alt kısmında sosyal ikonların olduğunu ve bunları tema panelinden temayı kullananın oluşturmasını isteyelim.

Yaptığım bir temanın alt kısmına alttaki gibi sosyal ikonlar yaptım.

</p>
<div class="sosyaller-caner">
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-facebook-square"></i></a>
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-twitter"></i></a>
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-youtube-play"></i></a>
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-google-plus"></i></a>
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-linkedin-square"></i></a>
<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-instagram"></i></a>
</div>
<p>

Kodlar arasında url olarak alttaki kodu kullanmışım. Buradaki cnr_facebook admin panelindeki Facebook url kısmına eklediğimiz facebook url’sini bu kısma yazmaktadır.
<!--?php echo get_option('cnr_facebook'); ?-->

Tüm çalışma mantığı tamamen bu şekildedir.

Mesela kodu alttaki şekilde kullanırsam facebook url yerine tema paneline facebook kullanıcı adını yazdığımda netice almış olmaktayım.

<a target="_blank" rel="noopener">” rel=”noopener noreferrer”><i class="fa fa-facebook-square"></i></a>

Uygulama

Peki tamamen baştan ayarlama nasıl yapılır.
1- Ekteki dosyayı tema içine atın.
2- Alttaki adımları izleyin.

functions.php dosyasına alttaki kodu ekleyin.

/* TEMA PANELI */
if ( STYLESHEETPATH == TEMPLATEPATH ) {
define(‘OF_FILEPATH’, TEMPLATEPATH);
define(‘OF_DIRECTORY’, get_bloginfo(‘template_directory’));
} else {
define(‘OF_FILEPATH’, STYLESHEETPATH);
define(‘OF_DIRECTORY’, get_bloginfo(‘stylesheet_directory’));
}
require_once (OF_FILEPATH . ‘/admin/admin-functions.php’);
require_once (OF_FILEPATH . ‘/admin/admin-interface.php’);
require_once (OF_FILEPATH . ‘/admin/theme-options.php’);
require_once (OF_FILEPATH . ‘/admin/theme-functions.php’);

admin/theme-options.php kısmında yer alan düzenlemeler.

Bu kısım cnr_facebook’ta kullandığım kısa tema tanımıdır isterseniz değiştirin.

$shortname = “cnr”;

Alttaki kısım bu yazıdaki resimde gördüğünüz Genel Ayarlar, Css ayarları v.b sekmeleri oluşturduğumuz kısımı gösteriyor.
$options[] = array( “name” => “Genel Ayarlar”,
“type” => “heading”);

Genel ayarlarda logo seçtirmek için cnr_logo tanımlamasını tıpkı sosyal ikonları anlattığım gibi yapmanız gerekiyor. Kısa tema tanımını siz değiştirdiyseniz cnr yerine o gelecek devamındaki kısım ise alttaki id kısmındaki logo olacak. Siz bunu logo olarak değilde farklı bir işlem için kullanmak istiyorsanız değiştirebilirsiniz.
$options[] = array( “name” => “Logo URL”,
“desc” => “Kullanmak istediğiniz logonun linkini girin.Boş kalırsa temanın kendi logosu kullanılacaktır.”,
“id” => $shortname.”_logo”,
“std” => “”,
“type” => “text”);

Logoyu temanızda göstermek için;
<a href="<?php bloginfo('url'); ?>“>
<!--?php
if (get_option('cnr_logo')=='') {
echo '<img src="';
bloginfo('template_url');  echo '/images/logo.png" width="185" height="46" alt="#" /-->‘;
}
else {
echo ‘<img src="'.get_option('cnr_logo').'" width="'.get_option('cnr_lw').'" height="'.get_option('cnr_lh').'" alt="#">‘;
}
?>
</a>

Üstteki işlemde temayı ilk kurduğunuzda logo kısmı boş kalmaz. İlk önce echo ‘/images/logo.png” kısmındaki logo gelir. Panelden farklı logo url’si eklediğimizde yenisi görünür. cnr_lw ve cnr_lh kısmınıda örnek olarak verdim. Boyutlarıda panele ekleyip oradan seçim yaptırabilirsiniz.

Mantık bu şekilde işlemektedir.

uploadMesela logo kısmında “type” => “text”); text yani yazı için bir alan oluşturduk. Reklam için oluşturmak istiyorsanız. “type” => “textarea”); textarea işlemini kullanabilirsiniz. Yine logodaki gibi reklam kodu eklenmemişse sizin belirlediğiniz reklamı gösterirsiniz. Link yerine yüklemede yaptırmak isterseniz uploud işlevini yazabilirsiniz. Yükleme işlemi olur.

Son bir örnek daha veriyim. Mesela temanızda onedio tarzında bir slider alanı olduğunu varsayalım. Burada temapanelinden kategori seçimi yaptırmak istiyorsanız.

Yazıyı kategorilendirerek çektiğimiz kodu bilirsiniz.

<!--?php  query_posts($query_string . "category_name=$cat_isim&showposts=7"); if ( have_posts() ) : while ( have_posts() ) : the_post(); ?-->

Üstteki standart kodda sadece $cat_isim değerini kullandık. Tema panelinde aktif etmek için alttaki alanı oluşturun. showposts=7 kısmı içinde bir ayar yaptırabilirsiniz.
$options[] = array( “name” => “Onedio Tarzı Slider”,
“desc” => “Slider Kategorisini Seçiniz.”,
“id” => $shortname.”_slide_cat”,
“type” => “select”,
“options” => $of_categories,
“std” => “”);

_slide_cat değerimiz burada görünüyor. Fakat biz yazı kodunda $cat_isim kullandık. Bunuda ayarlamak için temamızın functions.php dosyasına ekleyin. Direk type ilede yapabilirdik ama böyle daha sağlıklı. 🙂 $of_categories değeri temadaki kategorileri, $of_pages ise sayfaları çeker.
$cat_isim= get_option(‘cnr_slide_cat’);

İşlemlerden sonra sitenizdeki kategoriler otomatik çekilir. Seçtiğiniz sliderda gösterilir.

kategori-cekimi

Ek kullanımlar:

Panel ile renk seçimi, farklı css, yazı fontu, yazı boyutu, yazı kalınlığı vb işlemleride yapabilirsiniz. Bu kısımdaki işlemlerdeki kodlar için her zaman header.php sayfasını kullanacaksınız. (<*/head> öncesi)

Dipnot:

Alttaki kod Tema panelinin göründüğü kısmı Wp admin panel > Görünüm altında listeler.
$of_page = add_submenu_page(‘themes.php’, $themename, ‘Options’, ‘edit_theme_options’, ‘optionsframework’,’optionsframework_options_page’); // Default

panel-gorunumuYandaki resimdeki gibi göstermek için alttaki kodu kullanabilirsiniz. caner.png menü ikonudur. ufak boyutta resim koyabilirsiniz.

$of_page = add_menu_page($themename, ‘Caner Dio’, ‘edit_theme_options’, ‘optionsframework’,’optionsframework_options_page’, get_bloginfo(‘template_url’).’/admin/images/caner.png’); // Default

Size verdiğim dosya ingilizce olacaktır. Ben baya baya farklı panel yapısında kullandığım ve değişik düzenlemeler yaptığım için düzen farklı. Takıldığınız bir yer olursa mutlaka sorabilirsiniz. 😉

Yorumlar / Cevaplar

14 yorum
  1. Tala
    12 Eylül 2016 · 11:07

    Hocam renk kodlarını nasıl çekeceğimizi örnekli gösterebilir misin acaba?

    1. Caner Özgürel
      18 Eylül 2016 · 19:51

      Merhaba yoğunum pek giremedim. Tabi 1-2 güne konuya edit geçeceğim.

  2. Mehmet
    2 Mart 2017 · 15:05

    Ekteki dosya silinmiş tekrar yüklemeniz mümkün mü? Kolay gelsin

    1. Caner Özgürel
      29 Aralık 2017 · 22:04

      Merhaba linki yeniledim.

  3. Ahmet
    14 Nisan 2017 · 23:44

    Hocam anlatım güzel ellerinize sağlık… Link kırık dosyayı yeniden yükleme imkanınız var mı acaba ?

    1. Caner Özgürel
      29 Aralık 2017 · 22:00

      Merhaba linki güncelledimm.

  4. faruk
    29 Ekim 2017 · 16:58

    merhaba link ölü dosya linkini güncellemeniz mümkünmüdür?

    1. Caner Özgürel
      29 Aralık 2017 · 21:52

      Merhaba linki yeniledim kullanabilirsiniz.

  5. Mayis
    27 Kasım 2017 · 13:35

    seIam Hocam dosya yok linkde yeniden ekIiye biIirmisiniz?

    1. Caner Özgürel
      29 Aralık 2017 · 21:52

      Aleyküm selam linki yeniledim kullanabilirsiniz.

  6. A Ayyıldız
    8 Mart 2018 · 19:29

    Hocam link açılmıyor yenilemeniz mümkün mü acaba ?

    1. Caner Özgürel
      8 Mart 2018 · 20:21

      Merhaba, linki yeniledim.

  7. ahmet doğan
    21 Nisan 2019 · 17:58

    merhaba hocam linki yeniler misiniz

    1. Caner Özgürel
      22 Nisan 2019 · 10:46

      Tekrar kontrol eder misin? Güncel.

Yorum Yaz / Cevap Ver

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir