Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

4.9 WordPress Bileşenleri (Widgets)

wordpress tema yapımı

WordPress bileşenleri, bir başka ifade ile widgetlar, sidebarlar aracılığı ile, sitelerinize içerik veya özellikler eklemek için kullanılırlar.

WordPress için üretilmiş, her biri farklı bir özellik ya da içerik sunan, birçok hazır bileşen vardır. Bu bileşenleri, kullanabilmek için, temanızda en az bir tane sidebar alanına ihtiyacınız vardır.

WordPress temanıza, bir sidebar, yani widget alanı eklemeyi öğrenmek için, Sidebar (Sayfa Yanı) dersimizi okuyabilirsiniz.

Bir bileşen, HTML çıktısı veren bir PHP nesnesidir. Aynı bileşen, aynı sidebar alanına defalarca eklenebilir.

Bileşenler, veritabanındaki, {$tablo_öneki}_options tablosuna veri kaydedebilirler.

Temanıza ait bileşenler, Yönetim paneli:Görünüm->Bileşenler sayfasında bulunur. Bu sayfa, sidebar alanlarınıza bileşen eklemek içindir.

Bileşen Kodlarken Tema Mı Eklenti Mi?

Bir bileşen oluşturmak istediğinizde karar vermeniz gereken ilk şey, bu bileşeni tema dosyalarınızda mı kodlayacağınız yoksa bir eklenti olarak mı kodlayacağınızdır.

Tema dosyalarınızda oluşturulan bileşenler, tema değiştiğinde artık kullanılamazlar. Aynı şekilde, eklenti yoluyla eklenen bileşenler de, eklenti etkisizleştirildiğinde artık kullanılamazlar. Her iki şekilde de kullanımdan kalkmış bileşenlerin, veritabanına kaydettiği bilgiler kaybolmayacaktır ve bu bileşenler tekrar kullanılmaya başlandığında, bu bilgiler de tekrar kullanılabilecektir.


Bileşenlerin Genel Görünümü

Bileşenlerin görünümüne baktığımızda, genel olarak iki bölüm dikkatimizi çeker. Bu bölümler şunlardır:

  1. Başlık
  2. Bileşenin seçenekleri veya gövdesi

Aşağıda “Metin” adlı bileşeninin görünümü verilmiştir:

WordPress Bileşenleri – Genel Görünüm

Yukarıdaki bileşeni “Kaydet“ip, temadaki görünümüne baktığımızda aşağıdaki gibi görünecektir:

WordPress Bileşenler – Metin Bileşeninin Tema Görünümü

Bileşenlerin temadaki görünümü, bileşene ev sahipliği yapan sidebarın, HTML ve CSS yapısına göre değişiklik gösterebilir. Yukarıdaki sidebar, bu bileşeni göstermek için aşağıdaki HTML yapısını kullanır:

<!-- Aşağıdaki HTML resgister_sidebar() fonksiyonundan gelir -->
<aside id="text-2" class="widget widget_text">
   <h3 class="widget-title">Haftanın Notu</h3>
   <div class="textwidget">
     <p>Bu hafta, sizlere…</p>
   </div>
</aside>

Bu HTML yapısının nasıl oluştuğunu merak ediyorsanız, Sidebar (Sayfa Yanı) adlı dersimizi okuyabilirsiniz.

Bir Bileşen Kodlama

Kodlayarak bir bileşen yapıp kullanabilmek için, aşağıdaki üç adımı takip etmelisiniz:

  1. WP_Widget sınıfının devamı niteliğinde bir class oluşturulur ve bileşen kodlanır.
  2. Kodlanan bileşen, register_widget('Bilesenin_Class_Adi') fonksiyonu ile ve widgets_init kancasını kullanılarak kaydedilir. Bu işlem ile, bileşen, artık, yönetim panelinin Bileşenler sayfasında görünecektir.
  3. Bileşenin kullanılabilmesi için, temaya en az bir tane sidebar alanı eklenmelidir.

1. Adım: Bir Bileşen (Widget) Kodlama

Bir bileşen kodlarken WP_Widget sınıfından yararlanırız. Bu sınıf, WordPress kurulumu ile birlikte gelen bir PHP sınıfıdır. Bileşen kodlarken, işimizi hızlandırır ve kolaylaştırır.

Bir bileşenin kod anatomisi şöyledir:

<?php
 
class Bilsen_Sinifinin_Adi extends WP_Widget {
 
    public function __construct() {
        // Bileşenin; id değerinin verildiği, adının, açıklamasının, tanımının... yapıldığı kısım
    }
 
    public function widget( $args, $instance ) {
        // Bileşenin HTML yapısının oluşturulduğu kısım
    }
 
    public function form( $instance ) {
        // Bileşenin, yönetim panelinden yapılacak ayarlarının, seçeneklerinin düzenlendiği kısım
    }
 
    public function update( $new_instance, $old_instance ) {
        // Bileşenin, ayarlarının veya seçeneklerinin kaydedildiği veya güncellendiği kısım
    }
}
 
?>

Kod yapısında görüldüğü gibi, bileşenler, WP_Widget sınıfına ait, dört tane fonksiyonun genişletmesi ile kodlanırlar.

Adı, “Basit Metin Kutusu” olan, bir başlık alanı ve metin girmek için, bir textarea alanı olan, basit bir bileşen tasarlayarak, yukarıdaki kod yapısının kullanılışını açıklayalım.

Bileşenler, register_widget() fonksiyonu ile kaydedilene kadar, yönetim panelinizde görünmezler.


public function __construct()

Bu fonksiyon, bileşenin kimlik bilgilerini oluşturmak, kullanıcılara kısa bir açıklama yapmak için kullanılır. Aşağıda, “Basit Metin Kutusu” bileşeni için, bu fonksiyonda kullandığımız kod yapısı şöyledir:

function __construct() {
 
 parent::__construct(
   'basit-metin-kusutu',  // Bileşenin ID'si
   __('Basit Metin Kutusu', 'textdomain'),   // Bileşenin adı
   array( 'description' => __( 'Bir başlığı olan metinler yayınlamak için kullanılır.', 'textdomain' ), ) // Bileşenin kısa açıklaması
 );

}

Bileşenin kimlik bilgilerini girdik. Bu bilgiler, Yönetim paneli : Görünüm->Bileşenler sayfasına gittiğimizde şu şekilde karşımıza çıkacak:

WordPress ile bileşen kodlama
WordPress Bileşen Kodlama

public function widget( $argumanlar, $veritabanindan_getir )

Bu fonksiyon, bileşenin HTML yapısını oluşturduğumuz kısımdır. Burada kullandığımız HTML yapısı, temamızda görünecektir. “Basit Metin Kutusu” adlı bileşenimiz için bu fonksiyonu şöyle kodladık:

public function widget( $argumanlar, $veritabanindan_getir ) {
	
	echo $argumanlar['before_widget'];

	if ( ! empty( $veritabanindan_getir['baslik'] ) ) {
		echo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];
	}

	echo '<div class="textwidget">';

	echo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );

	echo '</div>';

	echo $argumanlar['after_widget'];

}

Bu fonksiyonun, $argumanlar ve $veritabanindan_getir adında iki parametresi vardır. Bu parametrelerden birincisinden gelen;

$argumanlar['before_widget']
$argumanlar['before_title']
$argumanlar['after_title']
$argumanlar['after_widget']

argümanları, bu bileşenin kullanılacağı sidebarı kaydederken kullandığımız, register_sidebar() fonksiyonunun argümanlardır ve bu fonksiyonda verdiğimiz değerleri döndürürler.

İkinci parametre ise, birazdan göreceğimiz public function form( $veritabanindan_getir ) fonksiyonunda oluşturduğumuz form alanlarının adlarıdır.

public function form( $veritabanindan_getir )

Bu fonksiyon ile, bileşenin arka yüzünü, yani yönetim panelinin, Bileşenler sayfasındaki görünümünü kodluyoruz. Bileşenlerin arka yüzü, birer HTML formu şeklinde olmalıdır ki, bu bileşenlere veri girilebilsin, çeşitli seçimler veya ayarlar yapılabilsin. “Basit Metin Kutusu” adlı bileşenimiz için bu fonksiyonu şöyle kodladık:

public function form( $veritabanindan_getir ) {

        // Daha önce kaydedilmedi ise başlık boş kalsın
	$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );

        // Daha önce kaydedilmedi ise metin boş kalsın
	$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );
	?>
	<p>
		<label for="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>"><?php echo esc_html__( 'Başlık:', 'text_domain' ); ?></label>
		<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>" type="text" value="<?php echo esc_attr( $baslik ); ?>" placeholder="Bir başlık giriniz">
	</p>
	<p>
		<label for="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>"><?php echo esc_html__( 'Metin:', 'text_domain' ); ?></label>
		<textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>" type="text" cols="30" rows="10" placeholder="Metni buraya giriniz"><?php echo esc_attr( $metin ); ?></textarea>
	</p>
	<?php

}

Yukarıdaki kodların oluşturduğu HTML yapısını görmek için, yönetim panelinin Bileşenler sayfasında “Basit Metin Kutusu” adlı bileşenimizi, herhangi bir sidebara ekliyoruz:

WordPress Bileşen (Widget) Kodlama

Bileşeni, sidebara ilk defa eklediğinizde, bu şekilde görünmüyorsa, sayfayı yenilemeyi ve bileşeni ondan sonra açmayı deneyin.

public function form() fonksiyonunda bulunan bazı kodları yakından görelim:

Öncelikle, bir form elemanına isim vermek için kullanılan kalıp: $this->get_field_name('elemanin_ismi') şeklinde olmalıdır.

name="<?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>"

Yukarıdaki kod, formda, başlık değerini girmek için oluşturduğumuz input elemanının ismidir. Burada, $this->get_field_name('baslik') fonksiyonuna, parametre olarak 'baslik' ismini verdiğimiz için, veritabanından başlık getirmemiz gereken her yerde, anahtar olarak, bu adı kullandık:

$veritabanindan_getir['baslik']

Aynı mantıkla, metin değerini girmek için oluşturduğumuz textarea elemanına da metin adını verdik.

name="<?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>"

Lazım olduğunda, bu metni, veritabanından bu isim ile getirdik:

$veritabanindan_getir['metin']

Bu fonksiyonda, oluşturduğunuz form elemanlarına verdiğiniz isimleri siz belirlersiniz ve bu form verileri lazım olduğunda, bu isimleri anahtar yaparak çağırırsınız.


public function update( $yenisi, $eskisi )

Bu fonksiyon, public function form( $veritabanindan_getir ) fonksiyonunda oluşturduğumuz formu günceller. Yani, bu forma yeni bilgiler girildiğinde bunları veritabanına kaydeder. “Basit Metin Kutusu” adlı bileşenimiz için bu fonksiyonu şöyle kodladık:

public function update( $yenisi, $eskisi ) {

	$veritabanindan_getir = array();

	$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';
	$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';

	return $veritabanindan_getir;
}

Bileşenlerin, “Kaydet” butonu, bileşende bir değişiklik yapmadığımız müddetçe pasif durumdadır, sadece bir değişiklik olduğunda basılabilecek şekilde ayarlanmıştır. Bu yüzden, bileşen güncellenirken, $eskisi['baslik'] ve $eskisi['metin'] değerlerini tekrar kaydetme durumu oluşmaz.

Bu dört fonksiyonu kodladıktan sonra, bileşenin kodlamasını bitirmiş oluyoruz.

Aşağıda, oluşturduğumuz bileşen nesnesinin kodlarını bir arada verdik:

class Benim_Bilesenim extends WP_Widget {
 
    function __construct() {
 
        parent::__construct(
            'basit-metin-kusutu',  					// Bileşenin ID'si
            __('Basit Metin Kutusu', 'textdomain'),   // Bileşenin adı
			array( 'description' => __( 'Bir başlığı olan metinler yayınlamak için kullanılır.', 'textdomain' ), ) // Açıklaması
		);
 
    }
 
	public function widget( $argumanlar, $veritabanindan_getir ) {
		
		

		echo $argumanlar['before_widget'];

		if ( ! empty( $veritabanindan_getir['baslik'] ) ) {
			echo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];
		}

		echo '<div class="textwidget">';

		echo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );

		echo '</div>';

		echo $argumanlar['after_widget'];

	}
 
	public function form( $veritabanindan_getir ) {

		$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );
		$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );
		?>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>"><?php echo esc_html__( 'Başlık:', 'text_domain' ); ?></label>
			<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>" type="text" value="<?php echo esc_attr( $baslik ); ?>" placeholder="Bir başlık giriniz">
		</p>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>"><?php echo esc_html__( 'Metin:', 'text_domain' ); ?></label>
			<textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>" type="text" cols="30" rows="10" placeholder="Metni buraya giriniz"><?php echo esc_attr( $metin ); ?></textarea>
		</p>
		<?php

	}
 
	public function update( $yenisi, $eskisi ) {

		$veritabanindan_getir = array();

		$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';
		$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';

		return $veritabanindan_getir;
	}
 
}

2. Adım: Bileşeni Kaydetme

Bileşenlerin, kullanılabilmesi için, register_widget('Bilesenin_Class_Adi') fonksiyonunun bir kapsayıcı fonksiyon ile kullanılması ve kapsayıcı fonksiyonun, ‘widgets_init‘ kancası ile tetiklenmesi gerekmektedir.

Bileşenler kaydedilirken, bileşeni kodlarken oluşturduğumuz Class adları kullanılır, yani yukarıda oluşturduğumuz bileşeni kaydederken “Benim_Bilesenim” adıyla kaydedeceğiz.

Basit Metin Kutusu” adlı bileşenimizi kaydediyoruz:

<?php
// Bileşeni kaydediyoruz
add_action( 'widgets_init', 'basit_metin_kutusu_bilesenini_kaydet' );
     
function basit_metin_kutusu_bilesenini_kaydet() { 
    register_widget( 'Benim_Bilesenim' );
}
?>

Bir bileşen, kaydedildikten sonra, yönetim panelinin Bileşenler sayfasında kullanıma hazır şekilde oluşacaktır.

Kaydetme işlemi ile birlikte, “Basit Metin Kutusu” adlı bileşenin son hali şöyle olacaktır:

// Bileşeni kaydediyoruz
add_action( 'widgets_init', 'basit_metin_kutusu_bilesenini_kaydet' );
     
function basit_metin_kutusu_bilesenini_kaydet() { 
    register_widget( 'Benim_Bilesenim' );
}

class Benim_Bilesenim extends WP_Widget {
 
    function __construct() {
 
        parent::__construct(
            'basit-metin-kusutu',  					// Bileşenin ID'si
            __('Basit Metin Kutusu', 'textdomain'),   // Bileşenin adı
			array( 'description' => __( 'Bir başlığı olan metinler yayınlamak için kullanılır.', 'textdomain' ), ) // Açıklaması
		);
 
    }
 
	public function widget( $argumanlar, $veritabanindan_getir ) {
		
		

		echo $argumanlar['before_widget'];

		if ( ! empty( $veritabanindan_getir['baslik'] ) ) {
			echo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];
		}

		echo '<div class="textwidget">';

		echo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );

		echo '</div>';

		echo $argumanlar['after_widget'];

	}
 
	public function form( $veritabanindan_getir ) {

		$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );
		$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );
		?>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>"><?php echo esc_html__( 'Başlık:', 'text_domain' ); ?></label>
			<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>" type="text" value="<?php echo esc_attr( $baslik ); ?>" placeholder="Bir başlık giriniz">
		</p>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>"><?php echo esc_html__( 'Metin:', 'text_domain' ); ?></label>
			<textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>" type="text" cols="30" rows="10" placeholder="Metni buraya giriniz"><?php echo esc_attr( $metin ); ?></textarea>
		</p>
		<?php

	}
 
	public function update( $yenisi, $eskisi ) {

		$veritabanindan_getir = array();

		$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';
		$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';

		return $veritabanindan_getir;
	}
 
}

Bileşen kaydetmenin bir diğer yolu da, kaydetme işlemini, function __construct() fonksiyonu içinde yapmak ve bileşenin kodlandığı Class‘ın hemen bitiminde bu Class‘ın bir örneğini oluşturmaktır. Aşağıda “Basit Metin Kutusu” bileşenini bir de bu şekilde kaydederek kodladık:


class Benim_Bilesenim extends WP_Widget {
 
    function __construct() {
 
        parent::__construct(
            'basit-metin-kusutu',  					// Bileşenin ID'si
            __('Basit Metin Kutusu', 'textdomain'),   // Bileşenin adı
			array( 'description' => __( 'Bir başlığı olan metinler yayınlamak için kullanılır.', 'textdomain' ), ) // Açıklaması
		);
 
        // Bileşeni kaydeder
        add_action( 'widgets_init', function() {
            register_widget( 'Benim_Bilesenim' );
        });
 
    }
 
	public function widget( $argumanlar, $veritabanindan_getir ) {
		
		

		echo $argumanlar['before_widget'];

		if ( ! empty( $veritabanindan_getir['baslik'] ) ) {
			echo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];
		}

		echo '<div class="textwidget">';

		echo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );

		echo '</div>';

		echo $argumanlar['after_widget'];

	}
 
	public function form( $veritabanindan_getir ) {

		$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );
		$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );
		?>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>"><?php echo esc_html__( 'Başlık:', 'text_domain' ); ?></label>
			<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>" type="text" value="<?php echo esc_attr( $baslik ); ?>" placeholder="Bir başlık giriniz">
		</p>
		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>"><?php echo esc_html__( 'Metin:', 'text_domain' ); ?></label>
			<textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>" type="text" cols="30" rows="10" placeholder="Metni buraya giriniz"><?php echo esc_attr( $metin ); ?></textarea>
		</p>
		<?php

	}
 
	public function update( $yenisi, $eskisi ) {

		$veritabanindan_getir = array();

		$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';
		$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';

		return $veritabanindan_getir;
	}
 
}
// Bileşeni çalıştırır
$bilesenim = new Benim_Bilesenim();

3. Adım: Bir Sidebar Ekleme

WordPress temalarına bir sidebar ekleme işlemi, Sidebar (Sayfa Yanı) adlı dersimizde detaylıca ve resimler ile anlatılmıştır.

Bileşenleri Şablonlarda Kullanma: the_widget()

Bileşenler, sadece sidebarlarda kullanılmak zorunda değildir. Üye girişi, takip formu gibi bileşenleriniz varsa, bunları şablonlarınızın istediğiniz bir yerine sabitleyebilirsiniz. Bunun için aşağıdaki fonksiyonu kullanmalısınız:

the_widget( $bilesenin_Class_adi, $ayarlar= array(), $argumanlar= array() )

Görüldüğü gibi fonksiyonun 3 tane parametresi vardır:

$bilesenin_Class_adi

Zorunludur. Bileşeni kodlayan PHP sınıfının adıdır.

$ayarlar= array()

Zorunlu değildir. Bileşenin, değişkenleri, varsayılan değerlere sahip değilse, bu ayarları yapmadan, bileşeniniz temanıza herhangi bir çıktı vermeyecektir. Bu parametre ile, bileşende kullanılan değişkenlerin, varsayılan ayarlarını değiştirebilir ya da bu değişkenlere yeni değerler verebilirsiniz.

$argumanlar= array()

Zorunlu değildir. Bileşenin temanızda oluşturduğu HTML yapısına ait argümanlardır:

  • ‘before_widget’
    (string) Bileşenin saran HMTL elemanıdır. Varsayılan değeri, <div class="widget %s">, şeklindedir. Buradaki %s ifadesi bileşenin CSS sınıfıdır, widget_{$bilesenin-id-degeri} formatıdadır.
  • ‘after_widget’
    (string) Bileşenin saran HMTL elemanının kapanışıdır. Varsayılan değeri  </div>.
  • ‘before_title’
    (string) Bileşenin başlığını saran HMTL elemanıdır. Varsayılan değeri  <h2 class="widgettitle">.
  • ‘after_title’
    (string) Bileşenin başlığını saran HMTL elemanının kapanışıdır. Varsayılan değeri  </h2>.

Örnek olarak, Basit Metin Kutusu adlı bileşenimizi, bir şablon dosyasında sabitlemek istediğimizi varsayalım. Bileşenimizi kodlarken, değişkenlerimize, varsayılan değerler vermemiştik ve varsayılan bir içerik de oluşturmamıştık. Bu yüzden, the_widget() fonksiyonunun ikinci parametresini kullanmak zorundayız, aksi taktirde, bileşenimiz, şablonumuzda, herhangi bir çıktı vermeyecektir. Aşağıda, ikinci parametre ile birlikte, örnek bir kodlama verilmiştir:

<div class="kullanicilara-duyuru">
    <?php

       $ayarlar = array(
         'baslik' => 'Kullanmak İstediğiniz Başlık',
         'metin'    => 'Stenizin bu köşesinde yayınlamak istediğiniz metin. Sitenizin bu köşesinde yayınlamak istediğiniz metin. Sitenizin bu köşesinde yayınlamak istediğiniz metin...', );

      the_widget( 'Benim_Bilesenim', $ayarlar );

    ?>
</div>

Bu kodlamanın ile bileşenimiz, tema sayfamızda şu çıktıyı verir:

WordPress Bileşeni Ekleme – the_widget() fonksiyonu

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

1 yorum: “4.9 WordPress Bileşenleri (Widgets)”

Bir cevap yazın

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

Şu kadar HTML serbest:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>