{"id":2666,"date":"2019-05-27T14:03:35","date_gmt":"2019-05-27T11:03:35","guid":{"rendered":"https:\/\/sitecenneti.com\/wordpress\/?p=2666"},"modified":"2019-06-18T00:13:36","modified_gmt":"2019-06-17T21:13:36","slug":"4-9-wordpress-bilesenleri-widgets","status":"publish","type":"post","link":"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-9-wordpress-bilesenleri-widgets\/","title":{"rendered":"4.9 WordPress Bile\u015fenleri (Widgets)"},"content":{"rendered":"<div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">BU DERS\u0130N BA\u015eLIKLARI<\/p><ul class=\"toc_list\"><li><a href=\"#Bilesen_Kodlarken_Tema_Mi_Eklenti_Mi\"><span class=\"toc_number toc_depth_1\">1<\/span> Bile\u015fen Kodlarken Tema M\u0131 Eklenti Mi?<\/a><\/li><li><a href=\"#Bilesenlerin_Genel_Gorunumu\"><span class=\"toc_number toc_depth_1\">2<\/span> Bile\u015fenlerin Genel G\u00f6r\u00fcn\u00fcm\u00fc<\/a><\/li><li><a href=\"#Bir_Bilesen_Kodlama\"><span class=\"toc_number toc_depth_1\">3<\/span> Bir Bile\u015fen Kodlama<\/a><ul><li><a href=\"#1_Adim_Bir_Bilesen_Widget_Kodlama\"><span class=\"toc_number toc_depth_2\">3.1<\/span> 1. Ad\u0131m: Bir Bile\u015fen (Widget) Kodlama<\/a><ul><li><a href=\"#public_function___construct\"><span class=\"toc_number toc_depth_3\">3.1.1<\/span> public function __construct()<\/a><\/li><li><a href=\"#public_function_widget_argumanlar_veritabanindan_getir\"><span class=\"toc_number toc_depth_3\">3.1.2<\/span> public function widget( $argumanlar, $veritabanindan_getir )<\/a><\/li><li><a href=\"#public_function_form_veritabanindan_getir\"><span class=\"toc_number toc_depth_3\">3.1.3<\/span> public function form( $veritabanindan_getir )<\/a><\/li><li><a href=\"#public_function_update_yenisi_eskisi\"><span class=\"toc_number toc_depth_3\">3.1.4<\/span> public function update( $yenisi, $eskisi )<\/a><\/li><\/ul><\/li><li><a href=\"#2_Adim_Bileseni_Kaydetme\"><span class=\"toc_number toc_depth_2\">3.2<\/span> 2. Ad\u0131m: Bile\u015feni Kaydetme<\/a><\/li><li><a href=\"#3_Adim_Bir_Sidebar_Ekleme\"><span class=\"toc_number toc_depth_2\">3.3<\/span> 3. Ad\u0131m: Bir Sidebar Ekleme<\/a><\/li><\/ul><\/li><li><a href=\"#Bilesenleri_Sablonlarda_Kullanma_the_widget\"><span class=\"toc_number toc_depth_1\">4<\/span> Bile\u015fenleri \u015eablonlarda Kullanma: the_widget()<\/a><ul><li><a href=\"#bilesenin_Class_adi\"><span class=\"toc_number toc_depth_2\">4.1<\/span> $bilesenin_Class_adi<\/a><\/li><li><a href=\"#ayarlar_array\"><span class=\"toc_number toc_depth_2\">4.2<\/span> $ayarlar= array()<\/a><\/li><li><a href=\"#argumanlar_array\"><span class=\"toc_number toc_depth_2\">4.3<\/span> $argumanlar= array()<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n<p>WordPress bile\u015fenleri, bir ba\u015fka ifade ile <em>widgetlar<\/em>, <a rel=\"noreferrer noopener\" aria-label=\"sidebarlar  (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebarlar<\/a> arac\u0131l\u0131\u011f\u0131 ile, sitelerinize i\u00e7erik veya \u00f6zellikler eklemek i\u00e7in kullan\u0131l\u0131rlar.<\/p>\n\n\n\n<p>WordPress i\u00e7in \u00fcretilmi\u015f, her biri farkl\u0131 bir \u00f6zellik ya da i\u00e7erik sunan, bir\u00e7ok haz\u0131r bile\u015fen vard\u0131r. Bu bile\u015fenleri, kullanabilmek i\u00e7in, teman\u0131zda en az bir tane <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar<\/a> alan\u0131na ihtiyac\u0131n\u0131z vard\u0131r.<\/p>\n\n\n\n<p>WordPress teman\u0131za, bir sidebar, yani widget alan\u0131 eklemeyi \u00f6\u011frenmek i\u00e7in, <a rel=\"noreferrer noopener\" aria-label=\"Sidebar (Sayfa Yan\u0131) (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">Sidebar (Sayfa Yan\u0131)<\/a> dersimizi okuyabilirsiniz.<\/p>\n\n\n\n<p>Bir bile\u015fen, HTML \u00e7\u0131kt\u0131s\u0131 veren bir PHP nesnesidir. Ayn\u0131 bile\u015fen, ayn\u0131 <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar<\/a> alan\u0131na defalarca eklenebilir.<\/p>\n\n\n\n<p class=\"sc-dikkat\">Bile\u015fenler, veritaban\u0131ndaki, <code>{$tablo_\u00f6neki}_options<\/code> tablosuna veri kaydedebilirler.<\/p>\n\n\n\n<p>Teman\u0131za ait bile\u015fenler, <strong>Y\u00f6netim paneli:G\u00f6r\u00fcn\u00fcm-&gt;Bile\u015fenler<\/strong> sayfas\u0131nda bulunur. Bu sayfa, <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar<\/a> alanlar\u0131n\u0131za bile\u015fen eklemek i\u00e7indir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Bilesen_Kodlarken_Tema_Mi_Eklenti_Mi\">Bile\u015fen Kodlarken Tema M\u0131 Eklenti Mi?<\/span><\/h2>\n\n\n\n<p>Bir bile\u015fen olu\u015fturmak istedi\u011finizde karar vermeniz gereken ilk \u015fey, bu bile\u015feni tema dosyalar\u0131n\u0131zda m\u0131 kodlayaca\u011f\u0131n\u0131z yoksa bir eklenti olarak m\u0131 kodlayaca\u011f\u0131n\u0131zd\u0131r.<\/p>\n\n\n\n<p>Tema dosyalar\u0131n\u0131zda olu\u015fturulan bile\u015fenler, tema de\u011fi\u015fti\u011finde art\u0131k kullan\u0131lamazlar. Ayn\u0131 \u015fekilde, eklenti yoluyla eklenen bile\u015fenler de, eklenti etkisizle\u015ftirildi\u011finde art\u0131k kullan\u0131lamazlar. Her iki \u015fekilde de kullan\u0131mdan kalkm\u0131\u015f bile\u015fenlerin, veritaban\u0131na kaydetti\u011fi bilgiler kaybolmayacakt\u0131r ve bu bile\u015fenler tekrar kullan\u0131lmaya ba\u015fland\u0131\u011f\u0131nda, bu bilgiler de tekrar kullan\u0131labilecektir.<\/p>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Bilesenlerin_Genel_Gorunumu\">Bile\u015fenlerin Genel G\u00f6r\u00fcn\u00fcm\u00fc<\/span><\/h2>\n\n\n\n<p>Bile\u015fenlerin g\u00f6r\u00fcn\u00fcm\u00fcne bakt\u0131\u011f\u0131m\u0131zda, genel olarak iki b\u00f6l\u00fcm dikkatimizi \u00e7eker. Bu b\u00f6l\u00fcmler \u015funlard\u0131r:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Ba\u015fl\u0131k<\/li><li>Bile\u015fenin se\u00e7enekleri veya g\u00f6vdesi<\/li><\/ol>\n\n\n\n<p>A\u015fa\u011f\u0131da &#8220;<strong>Metin<\/strong>&#8221; adl\u0131 bile\u015feninin g\u00f6r\u00fcn\u00fcm\u00fc verilmi\u015ftir:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"447\" height=\"595\" src=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler.png\" alt=\"\" class=\"wp-image-2685\" srcset=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler.png 447w, https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-225x300.png 225w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><figcaption>WordPress Bile\u015fenleri &#8211; Genel G\u00f6r\u00fcn\u00fcm<\/figcaption><\/figure><\/div>\n\n\n\n<p>Yukar\u0131daki bile\u015feni &#8220;<strong>Kaydet<\/strong>&#8220;ip, temadaki g\u00f6r\u00fcn\u00fcm\u00fcne bakt\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki gibi g\u00f6r\u00fcnecektir:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"167\" src=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-2.png\" alt=\"\" class=\"wp-image-2686\"\/><figcaption>WordPress Bile\u015fenler &#8211; Metin Bile\u015feninin Tema G\u00f6r\u00fcn\u00fcm\u00fc<\/figcaption><\/figure><\/div>\n\n\n\n<p>Bile\u015fenlerin temadaki g\u00f6r\u00fcn\u00fcm\u00fc, bile\u015fene ev sahipli\u011fi yapan <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar\u0131n<\/a>, HTML ve CSS yap\u0131s\u0131na g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir. Yukar\u0131daki <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar<\/a>, bu bile\u015feni g\u00f6stermek i\u00e7in a\u015fa\u011f\u0131daki HTML yap\u0131s\u0131n\u0131 kullan\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- A\u015fa\u011f\u0131daki HTML resgister_sidebar() fonksiyonundan gelir -->\n&lt;aside id=\"text-2\" class=\"widget widget_text\">\n   &lt;h3 class=\"widget-title\">Haftan\u0131n Notu&lt;\/h3>\n   &lt;div class=\"textwidget\">\n     &lt;p>Bu hafta, sizlere\u2026&lt;\/p>\n   &lt;\/div>\n&lt;\/aside><\/code><\/pre>\n\n\n\n<p>Bu HTML yap\u0131s\u0131n\u0131n nas\u0131l olu\u015ftu\u011funu merak ediyorsan\u0131z, <a rel=\"noreferrer noopener\" aria-label=\"Sidebar (Sayfa Yan\u0131)  (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">Sidebar (Sayfa Yan\u0131)<\/a> adl\u0131 dersimizi okuyabilirsiniz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Bir_Bilesen_Kodlama\">Bir Bile\u015fen Kodlama<\/span><\/h2>\n\n\n\n<p>Kodlayarak bir bile\u015fen yap\u0131p kullanabilmek i\u00e7in, a\u015fa\u011f\u0131daki \u00fc\u00e7 ad\u0131m\u0131 takip etmelisiniz:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><code>WP_Widget<\/code> s\u0131n\u0131f\u0131n\u0131n devam\u0131 niteli\u011finde bir <code>class<\/code> olu\u015fturulur ve bile\u015fen kodlan\u0131r.<\/li><li>Kodlanan bile\u015fen, <code>register_widget('Bilesenin_Class_Adi')<\/code> fonksiyonu ile ve <code>widgets_init<\/code> kancas\u0131n\u0131 kullan\u0131larak kaydedilir. Bu i\u015flem ile, bile\u015fen, art\u0131k, y\u00f6netim panelinin <strong>Bile\u015fenler <\/strong>sayfas\u0131nda g\u00f6r\u00fcnecektir.<\/li><li>Bile\u015fenin kullan\u0131labilmesi i\u00e7in, temaya en az bir tane <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar alan\u0131 eklenmelidir<\/a>.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"1_Adim_Bir_Bilesen_Widget_Kodlama\">1. Ad\u0131m: Bir Bile\u015fen (Widget) Kodlama<\/span><\/h3>\n\n\n\n<p>Bir bile\u015fen kodlarken <code>WP_Widget<\/code> s\u0131n\u0131f\u0131ndan yararlan\u0131r\u0131z. Bu s\u0131n\u0131f, WordPress kurulumu ile birlikte gelen bir PHP s\u0131n\u0131f\u0131d\u0131r. Bile\u015fen kodlarken, i\u015fimizi h\u0131zland\u0131r\u0131r ve kolayla\u015ft\u0131r\u0131r.<\/p>\n\n\n\n<p>Bir bile\u015fenin kod anatomisi \u015f\u00f6yledir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n \nclass Bilsen_Sinifinin_Adi extends WP_Widget {\n \n    public function __construct() {\n        \/\/ Bile\u015fenin; id de\u011ferinin verildi\u011fi, ad\u0131n\u0131n, a\u00e7\u0131klamas\u0131n\u0131n, tan\u0131m\u0131n\u0131n... yap\u0131ld\u0131\u011f\u0131 k\u0131s\u0131m\n    }\n \n    public function widget( $args, $instance ) {\n        \/\/ Bile\u015fenin HTML yap\u0131s\u0131n\u0131n olu\u015fturuldu\u011fu k\u0131s\u0131m\n    }\n \n    public function form( $instance ) {\n        \/\/ Bile\u015fenin, y\u00f6netim panelinden yap\u0131lacak ayarlar\u0131n\u0131n, se\u00e7eneklerinin d\u00fczenlendi\u011fi k\u0131s\u0131m\n    }\n \n    public function update( $new_instance, $old_instance ) {\n        \/\/ Bile\u015fenin, ayarlar\u0131n\u0131n veya se\u00e7eneklerinin kaydedildi\u011fi veya g\u00fcncellendi\u011fi k\u0131s\u0131m\n    }\n}\n \n?><\/code><\/pre>\n\n\n\n<p>Kod yap\u0131s\u0131nda g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, bile\u015fenler, <code>WP_Widget<\/code> s\u0131n\u0131f\u0131na ait, d\u00f6rt tane fonksiyonun geni\u015fletmesi ile kodlan\u0131rlar.<\/p>\n\n\n\n<p>Ad\u0131, &#8220;<em>Basit Metin Kutusu<\/em>&#8221; olan, bir ba\u015fl\u0131k alan\u0131 ve metin girmek i\u00e7in, bir <code>textarea<\/code> alan\u0131 olan, basit bir bile\u015fen tasarlayarak, yukar\u0131daki kod yap\u0131s\u0131n\u0131n kullan\u0131l\u0131\u015f\u0131n\u0131 a\u00e7\u0131klayal\u0131m.<\/p>\n\n\n\n<p class=\"sc-dikkat\">Bile\u015fenler, <code>register_widget()<\/code> fonksiyonu ile kaydedilene kadar, y\u00f6netim panelinizde g\u00f6r\u00fcnmezler.<\/p>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"public_function___construct\">public function __construct()<\/span><\/h4>\n\n\n\n<p>Bu fonksiyon, bile\u015fenin kimlik bilgilerini olu\u015fturmak, kullan\u0131c\u0131lara k\u0131sa bir a\u00e7\u0131klama yapmak i\u00e7in kullan\u0131l\u0131r. A\u015fa\u011f\u0131da, &#8220;Basit <em>Metin Kutusu<\/em>&#8221; bile\u015feni i\u00e7in, bu fonksiyonda kulland\u0131\u011f\u0131m\u0131z kod yap\u0131s\u0131 \u015f\u00f6yledir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function __construct() {\n \n parent::__construct(\n   'basit-metin-kusutu',  \/\/ Bile\u015fenin ID'si\n   __('Basit Metin Kutusu', 'textdomain'),   \/\/ Bile\u015fenin ad\u0131\n   array( 'description' => __( 'Bir ba\u015fl\u0131\u011f\u0131 olan metinler yay\u0131nlamak i\u00e7in kullan\u0131l\u0131r.', 'textdomain' ), ) \/\/ Bile\u015fenin k\u0131sa a\u00e7\u0131klamas\u0131\n );\n\n}<\/code><\/pre>\n\n\n\n<p>Bile\u015fenin kimlik bilgilerini girdik. Bu bilgiler, <strong>Y\u00f6netim paneli : G\u00f6r\u00fcn\u00fcm-&gt;Bile\u015fenler<\/strong> sayfas\u0131na gitti\u011fimizde \u015fu \u015fekilde kar\u015f\u0131m\u0131za \u00e7\u0131kacak:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets.png\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"380\" src=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets.png\" alt=\"WordPress ile bile\u015fen kodlama\" class=\"wp-image-2695\" srcset=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets.png 622w, https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-300x183.png 300w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/a><figcaption>WordPress Bile\u015fen Kodlama<\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"public_function_widget_argumanlar_veritabanindan_getir\">public function widget( $argumanlar, $veritabanindan_getir )<\/span><\/h4>\n\n\n\n<p>Bu fonksiyon, bile\u015fenin HTML yap\u0131s\u0131n\u0131 olu\u015fturdu\u011fumuz k\u0131s\u0131md\u0131r. Burada kulland\u0131\u011f\u0131m\u0131z HTML yap\u0131s\u0131, temam\u0131zda g\u00f6r\u00fcnecektir. &#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenimiz i\u00e7in bu fonksiyonu \u015f\u00f6yle kodlad\u0131k:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function widget( $argumanlar, $veritabanindan_getir ) {\n\t\n\techo $argumanlar['before_widget'];\n\n\tif ( ! empty( $veritabanindan_getir['baslik'] ) ) {\n\t\techo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];\n\t}\n\n\techo '&lt;div class=\"textwidget\">';\n\n\techo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );\n\n\techo '&lt;\/div>';\n\n\techo $argumanlar['after_widget'];\n\n}\n<\/code><\/pre>\n\n\n\n<p>Bu fonksiyonun, <code>$argumanlar<\/code> ve <code>$veritabanindan_getir<\/code> ad\u0131nda iki parametresi vard\u0131r. Bu parametrelerden birincisinden gelen;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$argumanlar['before_widget']\n$argumanlar['before_title']\n$argumanlar['after_title']\n$argumanlar['after_widget']<\/code><\/pre>\n\n\n\n<p>arg\u00fcmanlar\u0131, bu bile\u015fenin kullan\u0131laca\u011f\u0131 <a rel=\"noreferrer noopener\" aria-label=\"sidebar (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">sidebar\u0131<\/a> kaydederken kulland\u0131\u011f\u0131m\u0131z, <a rel=\"noreferrer noopener\" aria-label=\"register_sidebar() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">register_sidebar()<\/a> fonksiyonunun arg\u00fcmanlard\u0131r ve bu fonksiyonda verdi\u011fimiz de\u011ferleri d\u00f6nd\u00fcr\u00fcrler.<\/p>\n\n\n\n<p>\u0130kinci parametre ise,  birazdan g\u00f6rece\u011fimiz <code>public function form( $veritabanindan_getir )<\/code> fonksiyonunda olu\u015fturdu\u011fumuz form alanlar\u0131n\u0131n adlar\u0131d\u0131r.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"public_function_form_veritabanindan_getir\">public function form( $veritabanindan_getir )<\/span><\/h4>\n\n\n\n<p>Bu fonksiyon ile, bile\u015fenin arka y\u00fcz\u00fcn\u00fc, yani y\u00f6netim panelinin, <strong>Bile\u015fenler <\/strong>sayfas\u0131ndaki g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc kodluyoruz. Bile\u015fenlerin arka y\u00fcz\u00fc, birer HTML formu \u015feklinde olmal\u0131d\u0131r ki, bu bile\u015fenlere veri girilebilsin, \u00e7e\u015fitli se\u00e7imler veya ayarlar yap\u0131labilsin. &#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenimiz i\u00e7in bu fonksiyonu \u015f\u00f6yle kodlad\u0131k: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function form( $veritabanindan_getir ) {\n\n        \/\/ Daha \u00f6nce kaydedilmedi ise ba\u015fl\u0131k bo\u015f kals\u0131n\n\t$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );\n\n        \/\/ Daha \u00f6nce kaydedilmedi ise metin bo\u015f kals\u0131n\n\t$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );\n\t?>\n\t&lt;p>\n\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\">&lt;?php echo esc_html__( 'Ba\u015fl\u0131k:', 'text_domain' ); ?>&lt;\/label>\n\t\t&lt;input class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>\" type=\"text\" value=\"&lt;?php echo esc_attr( $baslik ); ?>\" placeholder=\"Bir ba\u015fl\u0131k giriniz\">\n\t&lt;\/p>\n\t&lt;p>\n\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\">&lt;?php echo esc_html__( 'Metin:', 'text_domain' ); ?>&lt;\/label>\n\t\t&lt;textarea class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>\" type=\"text\" cols=\"30\" rows=\"10\" placeholder=\"Metni buraya giriniz\">&lt;?php echo esc_attr( $metin ); ?>&lt;\/textarea>\n\t&lt;\/p>\n\t&lt;?php\n\n}<\/code><\/pre>\n\n\n\n<p>Yukar\u0131daki kodlar\u0131n olu\u015fturdu\u011fu HTML yap\u0131s\u0131n\u0131 g\u00f6rmek i\u00e7in, y\u00f6netim panelinin <strong>Bile\u015fenler <\/strong>sayfas\u0131nda &#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenimizi, herhangi bir sidebara ekliyoruz:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"345\" height=\"547\" src=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-2.png\" alt=\"\" class=\"wp-image-2709\" srcset=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-2.png 345w, https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-2-189x300.png 189w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><figcaption>WordPress Bile\u015fen (Widget) Kodlama<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"sc-dikkat\">Bile\u015feni, sidebara ilk defa ekledi\u011finizde, bu \u015fekilde g\u00f6r\u00fcnm\u00fcyorsa, sayfay\u0131 yenilemeyi ve bile\u015feni ondan sonra a\u00e7may\u0131 deneyin.<\/p>\n\n\n\n<p><code>public function form()<\/code> fonksiyonunda bulunan baz\u0131 kodlar\u0131 yak\u0131ndan g\u00f6relim:<\/p>\n\n\n\n<p> \u00d6ncelikle, bir form eleman\u0131na isim vermek i\u00e7in kullan\u0131lan kal\u0131p: <code>$this-&gt;get_field_name('elemanin_ismi')<\/code> \u015feklinde olmal\u0131d\u0131r.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>name=\"&lt;?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>\"<\/code><\/pre>\n\n\n\n<p>Yukar\u0131daki kod, formda, ba\u015fl\u0131k de\u011ferini girmek i\u00e7in olu\u015fturdu\u011fumuz <code>input<\/code> eleman\u0131n\u0131n ismidir. Burada, <code>$this-&gt;get_field_name('baslik')<\/code> fonksiyonuna, parametre olarak <code>'baslik'<\/code> ismini verdi\u011fimiz i\u00e7in, veritaban\u0131ndan ba\u015fl\u0131k getirmemiz gereken her yerde, anahtar olarak, bu ad\u0131 kulland\u0131k:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$veritabanindan_getir['baslik']<\/code><\/pre>\n\n\n\n<p>Ayn\u0131 mant\u0131kla, metin de\u011ferini girmek i\u00e7in olu\u015fturdu\u011fumuz <code>textarea<\/code> eleman\u0131na da metin ad\u0131n\u0131 verdik.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>name=\"&lt;?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>\"<\/code><\/pre>\n\n\n\n<p>Laz\u0131m oldu\u011funda, bu metni, veritaban\u0131ndan bu isim ile getirdik:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$veritabanindan_getir['metin']<\/code><\/pre>\n\n\n\n<p class=\"sc-dikkat\">Bu fonksiyonda, olu\u015fturdu\u011funuz form elemanlar\u0131na verdi\u011finiz isimleri siz belirlersiniz ve bu form verileri laz\u0131m oldu\u011funda, bu isimleri anahtar yaparak \u00e7a\u011f\u0131r\u0131rs\u0131n\u0131z.<\/p>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"public_function_update_yenisi_eskisi\">public function update( $yenisi, $eskisi )<\/span><\/h4>\n\n\n\n<p>Bu fonksiyon, <code>public function form( $veritabanindan_getir )<\/code> fonksiyonunda olu\u015fturdu\u011fumuz formu g\u00fcnceller. Yani, bu forma yeni bilgiler girildi\u011finde bunlar\u0131 veritaban\u0131na kaydeder. &#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenimiz i\u00e7in bu fonksiyonu \u015f\u00f6yle kodlad\u0131k: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function update( $yenisi, $eskisi ) {\n\n\t$veritabanindan_getir = array();\n\n\t$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';\n\t$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';\n\n\treturn $veritabanindan_getir;\n}\n<\/code><\/pre>\n\n\n\n<p>Bile\u015fenlerin, &#8220;<strong>Kaydet<\/strong>&#8221; butonu, bile\u015fende bir de\u011fi\u015fiklik yapmad\u0131\u011f\u0131m\u0131z m\u00fcddet\u00e7e pasif durumdad\u0131r, sadece bir de\u011fi\u015fiklik oldu\u011funda bas\u0131labilecek \u015fekilde ayarlanm\u0131\u015ft\u0131r. Bu y\u00fczden, bile\u015fen g\u00fcncellenirken, <code>$eskisi['baslik']<\/code> ve <code>$eskisi['metin']<\/code> de\u011ferlerini tekrar kaydetme durumu olu\u015fmaz.<\/p>\n\n\n\n<p>Bu d\u00f6rt fonksiyonu kodlad\u0131ktan sonra, bile\u015fenin kodlamas\u0131n\u0131 bitirmi\u015f oluyoruz.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131da, olu\u015fturdu\u011fumuz bile\u015fen nesnesinin kodlar\u0131n\u0131 bir arada verdik:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Benim_Bilesenim extends WP_Widget {\n \n    function __construct() {\n \n        parent::__construct(\n            'basit-metin-kusutu',  \t\t\t\t\t\/\/ Bile\u015fenin ID'si\n            __('Basit Metin Kutusu', 'textdomain'),   \/\/ Bile\u015fenin ad\u0131\n\t\t\tarray( 'description' => __( 'Bir ba\u015fl\u0131\u011f\u0131 olan metinler yay\u0131nlamak i\u00e7in kullan\u0131l\u0131r.', 'textdomain' ), ) \/\/ A\u00e7\u0131klamas\u0131\n\t\t);\n \n    }\n \n\tpublic function widget( $argumanlar, $veritabanindan_getir ) {\n\t\t\n\t\t\n\n\t\techo $argumanlar['before_widget'];\n\n\t\tif ( ! empty( $veritabanindan_getir['baslik'] ) ) {\n\t\t\techo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];\n\t\t}\n\n\t\techo '&lt;div class=\"textwidget\">';\n\n\t\techo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );\n\n\t\techo '&lt;\/div>';\n\n\t\techo $argumanlar['after_widget'];\n\n\t}\n \n\tpublic function form( $veritabanindan_getir ) {\n\n\t\t$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );\n\t\t$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );\n\t\t?>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\">&lt;?php echo esc_html__( 'Ba\u015fl\u0131k:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;input class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>\" type=\"text\" value=\"&lt;?php echo esc_attr( $baslik ); ?>\" placeholder=\"Bir ba\u015fl\u0131k giriniz\">\n\t\t&lt;\/p>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\">&lt;?php echo esc_html__( 'Metin:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;textarea class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>\" type=\"text\" cols=\"30\" rows=\"10\" placeholder=\"Metni buraya giriniz\">&lt;?php echo esc_attr( $metin ); ?>&lt;\/textarea>\n\t\t&lt;\/p>\n\t\t&lt;?php\n\n\t}\n \n\tpublic function update( $yenisi, $eskisi ) {\n\n\t\t$veritabanindan_getir = array();\n\n\t\t$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';\n\t\t$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';\n\n\t\treturn $veritabanindan_getir;\n\t}\n \n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"2_Adim_Bileseni_Kaydetme\">2. Ad\u0131m: Bile\u015feni Kaydetme<\/span><\/h3>\n\n\n\n<p>Bile\u015fenlerin, kullan\u0131labilmesi i\u00e7in, <code>register_widget('Bilesenin_Class_Adi')<\/code> fonksiyonunun bir kapsay\u0131c\u0131 fonksiyon ile kullan\u0131lmas\u0131 ve kapsay\u0131c\u0131 fonksiyonun, &#8216;<code>widgets_init<\/code>&#8216; kancas\u0131 ile tetiklenmesi gerekmektedir.<\/p>\n\n\n\n<p>Bile\u015fenler kaydedilirken, bile\u015feni kodlarken olu\u015fturdu\u011fumuz <code>Class<\/code> adlar\u0131 kullan\u0131l\u0131r, yani yukar\u0131da olu\u015fturdu\u011fumuz bile\u015feni kaydederken &#8220;<code>Benim_Bilesenim<\/code>&#8221; ad\u0131yla kaydedece\u011fiz.<\/p>\n\n\n\n<p>&#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenimizi kaydediyoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ Bile\u015feni kaydediyoruz\nadd_action( 'widgets_init', 'basit_metin_kutusu_bilesenini_kaydet' );\n     \nfunction basit_metin_kutusu_bilesenini_kaydet() { \n    register_widget( 'Benim_Bilesenim' );\n}\n?><\/code><\/pre>\n\n\n\n<p>Bir bile\u015fen, kaydedildikten sonra, y\u00f6netim panelinin <strong>Bile\u015fenler <\/strong>sayfas\u0131nda kullan\u0131ma haz\u0131r \u015fekilde olu\u015facakt\u0131r.<\/p>\n\n\n\n<p>Kaydetme i\u015flemi ile birlikte, &#8220;<em>Basit Metin Kutusu<\/em>&#8221; adl\u0131 bile\u015fenin son hali \u015f\u00f6yle olacakt\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Bile\u015feni kaydediyoruz\nadd_action( 'widgets_init', 'basit_metin_kutusu_bilesenini_kaydet' );\n     \nfunction basit_metin_kutusu_bilesenini_kaydet() { \n    register_widget( 'Benim_Bilesenim' );\n}\n\nclass Benim_Bilesenim extends WP_Widget {\n \n    function __construct() {\n \n        parent::__construct(\n            'basit-metin-kusutu',  \t\t\t\t\t\/\/ Bile\u015fenin ID'si\n            __('Basit Metin Kutusu', 'textdomain'),   \/\/ Bile\u015fenin ad\u0131\n\t\t\tarray( 'description' => __( 'Bir ba\u015fl\u0131\u011f\u0131 olan metinler yay\u0131nlamak i\u00e7in kullan\u0131l\u0131r.', 'textdomain' ), ) \/\/ A\u00e7\u0131klamas\u0131\n\t\t);\n \n    }\n \n\tpublic function widget( $argumanlar, $veritabanindan_getir ) {\n\t\t\n\t\t\n\n\t\techo $argumanlar['before_widget'];\n\n\t\tif ( ! empty( $veritabanindan_getir['baslik'] ) ) {\n\t\t\techo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];\n\t\t}\n\n\t\techo '&lt;div class=\"textwidget\">';\n\n\t\techo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );\n\n\t\techo '&lt;\/div>';\n\n\t\techo $argumanlar['after_widget'];\n\n\t}\n \n\tpublic function form( $veritabanindan_getir ) {\n\n\t\t$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );\n\t\t$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );\n\t\t?>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\">&lt;?php echo esc_html__( 'Ba\u015fl\u0131k:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;input class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>\" type=\"text\" value=\"&lt;?php echo esc_attr( $baslik ); ?>\" placeholder=\"Bir ba\u015fl\u0131k giriniz\">\n\t\t&lt;\/p>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\">&lt;?php echo esc_html__( 'Metin:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;textarea class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>\" type=\"text\" cols=\"30\" rows=\"10\" placeholder=\"Metni buraya giriniz\">&lt;?php echo esc_attr( $metin ); ?>&lt;\/textarea>\n\t\t&lt;\/p>\n\t\t&lt;?php\n\n\t}\n \n\tpublic function update( $yenisi, $eskisi ) {\n\n\t\t$veritabanindan_getir = array();\n\n\t\t$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';\n\t\t$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';\n\n\t\treturn $veritabanindan_getir;\n\t}\n \n}<\/code><\/pre>\n\n\n\n<p>Bile\u015fen kaydetmenin bir di\u011fer yolu da, kaydetme i\u015flemini, <code>function __construct()<\/code> fonksiyonu i\u00e7inde yapmak ve bile\u015fenin kodland\u0131\u011f\u0131 <code>Class<\/code>&#8216;\u0131n hemen bitiminde bu <code>Class<\/code>&#8216;\u0131n bir \u00f6rne\u011fini olu\u015fturmakt\u0131r. A\u015fa\u011f\u0131da &#8220;<em>Basit Metin Kutusu<\/em>&#8221; bile\u015fenini bir de bu \u015fekilde kaydederek kodlad\u0131k:<\/p>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<pre class=\"wp-block-code\"><code>class Benim_Bilesenim extends WP_Widget {\n \n    function __construct() {\n \n        parent::__construct(\n            'basit-metin-kusutu',  \t\t\t\t\t\/\/ Bile\u015fenin ID'si\n            __('Basit Metin Kutusu', 'textdomain'),   \/\/ Bile\u015fenin ad\u0131\n\t\t\tarray( 'description' => __( 'Bir ba\u015fl\u0131\u011f\u0131 olan metinler yay\u0131nlamak i\u00e7in kullan\u0131l\u0131r.', 'textdomain' ), ) \/\/ A\u00e7\u0131klamas\u0131\n\t\t);\n \n        \/\/ Bile\u015feni kaydeder\n        add_action( 'widgets_init', function() {\n            register_widget( 'Benim_Bilesenim' );\n        });\n \n    }\n \n\tpublic function widget( $argumanlar, $veritabanindan_getir ) {\n\t\t\n\t\t\n\n\t\techo $argumanlar['before_widget'];\n\n\t\tif ( ! empty( $veritabanindan_getir['baslik'] ) ) {\n\t\t\techo $argumanlar['before_title'] . $veritabanindan_getir['baslik'] . $argumanlar['after_title'];\n\t\t}\n\n\t\techo '&lt;div class=\"textwidget\">';\n\n\t\techo esc_html__( $veritabanindan_getir['metin'], 'text_domain' );\n\n\t\techo '&lt;\/div>';\n\n\t\techo $argumanlar['after_widget'];\n\n\t}\n \n\tpublic function form( $veritabanindan_getir ) {\n\n\t\t$baslik = ! empty( $veritabanindan_getir['baslik'] ) ? $veritabanindan_getir['baslik'] : esc_html__( '', 'text_domain' );\n\t\t$metin = ! empty( $veritabanindan_getir['metin'] ) ? $veritabanindan_getir['metin'] : esc_html__( '', 'text_domain' );\n\t\t?>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\">&lt;?php echo esc_html__( 'Ba\u015fl\u0131k:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;input class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'baslik' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'baslik' ) ); ?>\" type=\"text\" value=\"&lt;?php echo esc_attr( $baslik ); ?>\" placeholder=\"Bir ba\u015fl\u0131k giriniz\">\n\t\t&lt;\/p>\n\t\t&lt;p>\n\t\t\t&lt;label for=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\">&lt;?php echo esc_html__( 'Metin:', 'text_domain' ); ?>&lt;\/label>\n\t\t\t&lt;textarea class=\"widefat\" id=\"&lt;?php echo esc_attr( $this->get_field_id( 'metin' ) ); ?>\" name=\"&lt;?php echo esc_attr( $this->get_field_name( 'metin' ) ); ?>\" type=\"text\" cols=\"30\" rows=\"10\" placeholder=\"Metni buraya giriniz\">&lt;?php echo esc_attr( $metin ); ?>&lt;\/textarea>\n\t\t&lt;\/p>\n\t\t&lt;?php\n\n\t}\n \n\tpublic function update( $yenisi, $eskisi ) {\n\n\t\t$veritabanindan_getir = array();\n\n\t\t$veritabanindan_getir['baslik'] = ( !empty( $yenisi['baslik'] ) ) ? strip_tags( $yenisi['baslik'] ) : '';\n\t\t$veritabanindan_getir['metin'] = ( !empty( $yenisi['metin'] ) ) ? $yenisi['metin'] : '';\n\n\t\treturn $veritabanindan_getir;\n\t}\n \n}\n\/\/ Bile\u015feni \u00e7al\u0131\u015ft\u0131r\u0131r\n$bilesenim = new Benim_Bilesenim();<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"3_Adim_Bir_Sidebar_Ekleme\">3. Ad\u0131m: Bir Sidebar Ekleme<\/span><\/h3>\n\n\n\n<p>WordPress temalar\u0131na bir sidebar ekleme i\u015flemi, <a rel=\"noreferrer noopener\" aria-label=\"Sidebar (Sayfa Yan\u0131) (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-8-sidebar-sayfa-yani\/\" target=\"_blank\">Sidebar (Sayfa Yan\u0131)<\/a> adl\u0131 dersimizde detayl\u0131ca ve resimler ile anlat\u0131lm\u0131\u015ft\u0131r.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Bilesenleri_Sablonlarda_Kullanma_the_widget\">Bile\u015fenleri \u015eablonlarda Kullanma: the_widget()<\/span><\/h2>\n\n\n\n<p>Bile\u015fenler, sadece sidebarlarda kullan\u0131lmak zorunda de\u011fildir. \u00dcye giri\u015fi, takip formu gibi bile\u015fenleriniz varsa, bunlar\u0131 \u015fablonlar\u0131n\u0131z\u0131n istedi\u011finiz bir yerine sabitleyebilirsiniz. Bunun i\u00e7in a\u015fa\u011f\u0131daki fonksiyonu kullanmal\u0131s\u0131n\u0131z:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>the_widget( $bilesenin_Class_adi, $ayarlar= array(), $argumanlar= array() )<\/code><\/pre>\n\n\n\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi fonksiyonun 3 tane parametresi vard\u0131r:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"bilesenin_Class_adi\">$bilesenin_Class_adi<\/span><\/h3>\n\n\n\n<p><em>Zorunludur<\/em>. Bile\u015feni kodlayan PHP s\u0131n\u0131f\u0131n\u0131n ad\u0131d\u0131r.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"ayarlar_array\">$ayarlar= array()<\/span><\/h3>\n\n\n\n<p><em>Zorunlu de\u011fildir<\/em>. Bile\u015fenin, de\u011fi\u015fkenleri, varsay\u0131lan de\u011ferlere sahip de\u011filse, bu ayarlar\u0131 yapmadan, bile\u015feniniz teman\u0131za herhangi bir \u00e7\u0131kt\u0131 vermeyecektir. Bu parametre ile, bile\u015fende kullan\u0131lan de\u011fi\u015fkenlerin, varsay\u0131lan ayarlar\u0131n\u0131 de\u011fi\u015ftirebilir ya da bu de\u011fi\u015fkenlere yeni de\u011ferler verebilirsiniz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"argumanlar_array\">$argumanlar= array()<\/span><\/h3>\n\n\n\n<p><em>Zorunlu de\u011fildir<\/em>. Bile\u015fenin teman\u0131zda olu\u015fturdu\u011fu HTML yap\u0131s\u0131na ait arg\u00fcmanlard\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>&#8216;before_widget&#8217;<\/strong><br><em>(string)<\/em>&nbsp;Bile\u015fenin saran HMTL eleman\u0131d\u0131r. Varsay\u0131lan de\u011feri, <code>&lt;div class=\"widget %s\"&gt;<\/code>, \u015feklindedir. Buradaki <code>%s<\/code>&nbsp;ifadesi bile\u015fenin CSS s\u0131n\u0131f\u0131d\u0131r, <code>widget_{$bilesenin-id-degeri}<\/code> format\u0131dad\u0131r.<\/li><li><strong>&#8216;after_widget&#8217;<\/strong><br><em>(string)<\/em>&nbsp;Bile\u015fenin saran HMTL eleman\u0131n\u0131n kapan\u0131\u015f\u0131d\u0131r. Varsay\u0131lan de\u011feri &nbsp;<code>&lt;\/div&gt;<\/code>.<\/li><li><strong>&#8216;before_title&#8217;<\/strong><br><em>(string)<\/em>&nbsp;Bile\u015fenin ba\u015fl\u0131\u011f\u0131n\u0131 saran HMTL eleman\u0131d\u0131r. Varsay\u0131lan de\u011feri &nbsp;<code>&lt;h2 class=\"widgettitle\"&gt;<\/code>.<\/li><li><strong>&#8216;after_title&#8217;<\/strong><br><em>(string)<\/em>&nbsp;Bile\u015fenin ba\u015fl\u0131\u011f\u0131n\u0131 saran HMTL eleman\u0131n\u0131n kapan\u0131\u015f\u0131d\u0131r. Varsay\u0131lan de\u011feri &nbsp;<code>&lt;\/h2&gt;<\/code>.<\/li><\/ul>\n\n\n\n<p>\u00d6rnek olarak, <em>Basit Metin Kutusu<\/em> adl\u0131 bile\u015fenimizi, bir <a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/2-1-sablon-template-dosyalari\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"\u015fablon dosyas\u0131nda (yeni sekmede a\u00e7\u0131l\u0131r)\">\u015fablon dosyas\u0131nda<\/a> sabitlemek istedi\u011fimizi varsayal\u0131m. Bile\u015fenimizi kodlarken, de\u011fi\u015fkenlerimize, varsay\u0131lan de\u011ferler vermemi\u015ftik ve varsay\u0131lan bir i\u00e7erik de olu\u015fturmam\u0131\u015ft\u0131k. Bu y\u00fczden, <code>the_widget()<\/code> fonksiyonunun ikinci parametresini kullanmak zorunday\u0131z, aksi taktirde, bile\u015fenimiz, \u015fablonumuzda, herhangi bir \u00e7\u0131kt\u0131 vermeyecektir. A\u015fa\u011f\u0131da, ikinci parametre ile birlikte, \u00f6rnek bir kodlama verilmi\u015ftir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"kullanicilara-duyuru\">\n    &lt;?php\n\n       $ayarlar = array(\n         'baslik' => 'Kullanmak \u0130stedi\u011finiz Ba\u015fl\u0131k',\n         'metin'    => 'Stenizin bu k\u00f6\u015fesinde yay\u0131nlamak istedi\u011finiz metin. Sitenizin bu k\u00f6\u015fesinde yay\u0131nlamak istedi\u011finiz metin. Sitenizin bu k\u00f6\u015fesinde yay\u0131nlamak istedi\u011finiz metin...', );\n\n      the_widget( 'Benim_Bilesenim', $ayarlar );\n\n    ?>\n&lt;\/div><\/code><\/pre>\n\n\n\n<p>Bu kodlaman\u0131n ile bile\u015fenimiz, tema sayfam\u0131zda \u015fu \u00e7\u0131kt\u0131y\u0131 verir:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"321\" height=\"287\" src=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-3.png\" alt=\"\" class=\"wp-image-2724\" srcset=\"https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-3.png 321w, https:\/\/sitecenneti.com\/wordpress\/wp-content\/uploads\/sites\/15\/2019\/05\/wordpress-bilesenler-widgets-3-300x268.png 300w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/><figcaption>WordPress Bile\u015feni Ekleme &#8211; the_widget() fonksiyonu<\/figcaption><\/figure><\/div>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BU DERS\u0130N BA\u015eLIKLARI1 Bile\u015fen Kodlarken Tema M\u0131 Eklenti Mi?2 Bile\u015fenlerin Genel G\u00f6r\u00fcn\u00fcm\u00fc3 Bir Bile\u015fen Kodlama3.1 1. Ad\u0131m: Bir Bile\u015fen (Widget) Kodlama3.1.1 public function __construct()3.1.2 public function widget( $argumanlar, $veritabanindan_getir )3.1.3 public function form( $veritabanindan_getir )3.1.4 public function update( $yenisi, $eskisi )3.2 2. Ad\u0131m: Bile\u015feni Kaydetme3.3 3. Ad\u0131m: Bir Sidebar Ekleme4 Bile\u015fenleri \u015eablonlarda Kullanma: the_widget()4.1 $bilesenin_Class_adi4.2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":25,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[112,113,111],"class_list":["post-2666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-tema-yapimi","tag-bilesenler","tag-widgets","tag-wordpress-bilesenleri"],"_links":{"self":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts\/2666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2666"}],"version-history":[{"count":0,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts\/2666\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/media\/25"}],"wp:attachment":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/categories?post=2666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/tags?post=2666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}