Merhaba arkadaşlar.Bildiğiniz üzere şu konuda tema yapımı derslerine başlacağımı belirtmiştim,evet biliyorum biraz gecikti ama başlayacağım merak etmeyiniz.Sabrınız için şimdiden teşekkür ederim.
Gelelim konumuza.Aslında bu tema paneli yapım işini o serinin en sonunda anlatacaktım.Dedim boşver anlat gitsin.
WordPress tema paneli nedir?
Tema panel olayı,temaya özgü ayarları,harici sayfadan kontrol edebilmenizi sağlayan,tema dosyaları ile boğuşmanızı engelleyen,WordPress'in bize sağladığı en büyük nimetler biridir.
OGPanel nedir?
OGPanel benim sıfırdan yazmış ve geliştirmiş olduğum piyasadaki panellerden kaliteli sayılabilecek bir tema ayar sayfasıdır.Piuasadaki panelleri görüyoruz,elalem tutorial sitelerinden çevirip çakıyor adını soyadını panele.Sonra da ben wpciyim diye geçiniyor.Herneyse..
OGPanel'in avantajları nelerdir?
Kısaca bahsedeyim
[*]Türkçe'dir
[*]Kolayca geliştirilebilir
[*]Arayüzü güzeldir
OGPanel'in kullanımı
Bu tema panelinde,input,textarea,acilir,tik ve aciklama adında 5 adet ayar tipi vardır.
İlk başta aşağıdan indireceğiniz dosyayı functions.php de
include_once("tema_ayar.php");
diye tanımlatın.Daha sonra aşağıdaki gibi array() leri çğraltarak panelinize ekstra alanlar ekleyin.
array(
"baslik" => "Facebook adresinizi",
"aciklama" => "Lütfen adresinizi giriniz.",
"id" => "facebook_adres",
"varsayilan" => "",
"tip" => "input"),
Temanızda bu şekilde kullanabilirsiniz
baslik = ayar kutusunun başlığı
aciklama = ayar kutusunun aciklaması
id = ayarın çekileceği her biri farklı olmak zorunda olan özel isim örneğin manset_ac gibi
varsayilan = varsa,temayı yükleyen kişide ilk görünecek olan değer
liste = acilir tipi içerik kutusu kullandıysanız,liste nin içine arrayları eklemelisiniz
tip = input,textarea,acilir,tik ve aciklama dan herbiri olabilir.
Yukarıdaki dizilimin sırası önemli değildir.
Tema panelinizi başlıklara göre ayırmak isterseniz,
array(
"baslik" => "Genel Ayarlar",
"tip" => "bolumac"),
//buraya ayarlar gelecek
array(
"tip" => "bolumkapa"),
array(
"baslik" => "Reklam Ayarları",
"tip" => "bolumac"),
//buraya ayarlar gelecek
array(
"tip" => "bolumkapa"),
array(
"baslik" => "Sosyal Medya Ayarları",
"tip" => "bolumac"),
//buraya ayarlar gelecek
array(
"tip" => "bolumkapa"),
input tipi ayar kutusu yapımı
Facebook adresiniz,logo adresiniz gibi kısa içerik girilmesi gereken ayar kutularınız olacaksa input idealdir
tema_ayar.php kodu
array(
"baslik" => "Logo",
"aciklama" => "Lütfen logo adresinizi giriniz.",
"id" => "logo",
"varsayilan" => "",
"tip" => "input"),
Kullanımı
Çıktısı
direk olarak yazdığınız değer görünür.
textarea tipi ayar kutusu yapımı
Reklam kodu,sayaç kodu gibi büyük kod blokları için textarea kullanınız.
tema_ayar.php kodu
array(
"baslik" => "Yan menü reklam kodlarınız",
"aciklama" => "HTML,adsense kodları vs olabilir",
"id" => "yan_reklam",
"tip" => "textarea"),
Kullanımı
Çıktısı
direk olarak yazdığınız değer görünür.
acilir tipi ayar kutusu yapımı
Çoklu seçimli ayarlarınız varsa açilir menüyü kullanabilirsiniz.
tema_ayar.php kodu
array(
"baslik" => "Sidebar sağa alınsın mı?",
"aciklama" => "",
"id" => "kategori_sec",
"liste" => array("Evet","Hayir"),
"tip" => "acilir"),
Kullanımı
Çıktısı
direk olarak arraylardaki değerler görünür.
aciklama tipi ayar kutusu yapımı
Eğer detaylı olarak açiklama eklemek isterseniz,tam size göre.
tema_ayar.php kodu
array(
"baslik" => "Açıklama ",
"aciklama" => "Buraya tema ile ilgili açıklama yazısı yazabilirsiniz",
"tip" => "aciklama"),
Kullanımı
Kullanımı yoktur.Sadece tema panelinde görünür.
tik tipi ayar kutusu yapımı
Çoklu seçimli ayarlarınız varsa açilir menüyü kullanabilirsiniz.
tema_ayar.php kodu
array(
"baslik" => "Manşet olsun mu",
"aciklama" => "Açılsın istiyorsanız lütfen işaretleyiniz",
"id" => "manset_ac",
"tip" => "tik"),
Kullanımı
Çıktısı
true ve false değerlerini döndürür.
Örnekler vereyim
acilir tipi ayara bir örnek vermek istiyorum.
"Anasayfada yazı özeti mi görünsün yoksa tamamı mı ?" gibi bir örnek
array(
"baslik" => "Anasayfada yazı özeti mi görünsün yoksa tamamı mı ?",
"aciklama" => "",
"id" => "anasayfa_ayar",
"liste" => array("Özet","Tamami"),
"tip" => "acilir"),
İndex.php de bu ayarı böyle kullanırsınız :
input tipi ayar bir örnek daha vereyim
array(
"baslik" => "Twitter kullanıcı adınız",
"aciklama" => "",
"id" => "twitter",
"varsayilan" => "",
"tip" => "input"),
kullanımı şöyledir:
twitter.com/
Kodların tamamı aşağıdadır,eminim biraz bakarsanız mantığı çözeceksiniz.
$ayarlar = array (
array(
"baslik" => "Genel Ayarlar",
"tip" => "bolumac"),
array(
"baslik" => "Logo",
"aciklama" => "Lütfen logo adresinizi giriniz.",
"id" => "logo",
"varsayilan" => "",
"tip" => "input"),
array(
"baslik" => "Anasayfada gösterilecek haberlerin kategorisini seçiniz",
"aciklama" => "Seçmezseniz son yazılar görüncektir",
"id" => "kategori_sec",
"liste" => $kategoriler,
"tip" => "acilir"),
array(
"baslik" => "Açıklama ",
"aciklama" => "Buraya tema ile ilgili açıklama yazısı yazabilirsiniz",
"tip" => "aciklama"),
array(
"baslik" => "Manşet olsun mu",
"aciklama" => "Açılsın istiyorsanız lütfen işaretleyiniz",
"id" => "manset_ac",
"tip" => "tik"),
array(
"baslik" => "Yan menü reklam kodlarınız",
"aciklama" => "HTML,adsense kodları vs olabilir",
"id" => "yan_reklam",
"tip" => "textarea"),
array(
"tip" => "bolumkapa"),
array(
"baslik" => "Diğer Ayarlar",
"tip" => "bolumac"),
array(
"baslik" => "Deneme",
"aciklama" => "Açıklama",
"id" => "deneme_ayar",
"tip" => "input"),
array(
"tip" => "bolumkapa"),
);
function ogpanel_ayarlar() {
global $ayarlar;
if ('ayar_kayit'== $_REQUEST['action'] ) {
foreach ($ayarlar as $ayar) {
if( !isset( $_REQUEST[ $ayar['id'] ] ) ) { } else { update_option( $ayar['id'], stripslashes($_REQUEST[ $ayar['id']])); } }
if(stristr($_SERVER['REQUEST_URI'],'&kayit=tamam')) {
$lokasyon = $_SERVER['REQUEST_URI'];
} else {
$lokasyon = $_SERVER['REQUEST_URI'] . "&kayit=tamam";
}
header("Location: $lokasyon");
die;
} else if('ayar_reset' == $_REQUEST['action'] ) {
foreach ($ayarlar as $ayar) {
delete_option( $ayar['id'] );
$lokasyon = $_SERVER['REQUEST_URI'] . "&reset=tamam";
}
header("Location: $lokasyon");
die;
}
add_theme_page('OGPanel', 'OGPanel', 10, 'ogpanel', 'ogpanel_admin');
}
function ogpanel_admin() {
global $ayarlar;
?>
Tema Ayarları[/SIZE][/COLOR]
Ayarlarınız Kaydedildi !
if ( ! function_exists( 'og_ayar' ) ) {
function og_ayar( $id ) {
$cekgit = get_option( $id);
return $cekgit;
}
}
add_action('admin_menu', 'ogpanel_ayarlar');
add_action('admin_head', 'ogpanel_adminhead');
function ogpanel_adminhead() {
?>
Gördüğünüz gibi,kullanımı gayet basittir.Ücretli ücretsiz yaptığınız temalarda kolaylıkla kullanabilirsiniz..Panelin yakında v2sini çıkarıcam.Onda colorpicker ve birkaç özellik daha olacak.
Yazıyı bloglarında yayınlayacaklar kaynak verirse sevinirimi.Bol wpli günler.
kaynak