Kategori | WordPress

Etiketler :

Plugin olarak widget yapmak.

Eklenme Tarihi : 07 August 2008

Wordpress için eklenti vs yapmak istiyorsanız plugin yöntemiyle yapmakta fayda var zira her sitemizi güncellediğimizde eklentilerimiz için scriptimizi editlemek zorunda kalmayalım.

Biraz araştırma yapınca plugin ve beraberinde widget yapmanın sanıldığından daha kolay olduğunu gördüm.  Öncelikle yararlandığım kaynağı göstermeliyim ki merak edenler kaynağından bakabilirler.
http://www.emanueleferonato.com/2008/02/15/how-to-create-a-wordpress-widget/

Tabii ki benim yaptığım anlatılanların biraz ötesinde yani geliştirilmiş bir anlatım ve en öneemlisi Türkçe kaynak.  Anlatılanları dikkatlice uygularsanız istediğiniz şekilde widget yaparsınız.

Widget dosyası bir php dosyası veya php dosyaları topluluğundan başka bir şey değildir. Onun için bir widget dosyasının en önemli yeri açıklama satırlarının olduğu yer;

Örnek bir widget dosyası ;

PHP:
  1. /*
  2. Plugin Name: Triqui
  3. Plugin URI: http://www.emanueleferonato.com/
  4. Description: Test widget
  5. Author: Emanuele Feronato
  6. Version: 1
  7. Author URI: http://www.emanueleferonato.com/
  8. */
  9. function triqui_widget() {
  10. echo"<h2>Triqui widget</h2>I love <a href = \"http://www.emanueleferonato.com\">Emanuele Feronato</a>";
  11. }
  12. function init_triqui(){
  13. register_sidebar_widget("Triqui", "triqui_widget");
  14. }
  15. add_action("plugins_loaded", "init_triqui");

Açılama satırı gibi göründüğüne bakmayın wordpress değişkenleri buradan alır. Şimdi sırasıyla açıklamalara geçelim;

Plugin Name: Site Pagerank
Plugin listesinde bu isimle görünecek

Plugin URI: http://www.weblistele.com/
Plugin yapımcısının web adresi. Plugin açıklamasında bu link yer alacak.

Description: Pagerank widget denemesi
Plugin açıklaması, yani neye yaradığını kısaca burada açıklarsanız plugins sayfasında bu görünecek.

Author: Zafer BAHADIR
Plugini yapan kişinin adı burada yer alır:

Version: 1.0
Plugin sürüm numarası

Author URI: http://www.weblistele.com/
Plugin yapımcısı web adresi

Şimdi asıl fonsiyonlara geçelim.

PHP:
  1. function triqui_widget() {

Bu fonsiyonun olduğu yerde uygulanmasını istediğimiz kodları yerleştiriyoruz. Eklenen kodlar HTML ise ?><?php taglarının arasına ekleyebilirsiniz. bu ?> tag php'yi pasif yapar ve bu <?php tag php'yi aktif hale getirir.

Bu fonksiyon ise pluginimizin Design->Widgets sayfasında görünmesini ve pluginin oradaki adınıda belirler.

PHP:
  1. function init_triqui(){
  2. register_sidebar_widget("Triqui", "triqui_widget");

Pluginimizin etiketinin değiştirilebilir olmasını isterseniz bu fonsiyona bir bölüm daha eklenir, örnek parametre ile fonsiyonumuzun adının değiştirebileceği fonsiyonu çağırır.

PHP:
  1.     register_widget_control('Triqui', 'triqui_widget_options', 350, 120);

Bütün bunlardan yararlanarak yapmış olduğum basit bir pagerang widget'i plugin olarak veriyorum. İsterseniz üzerinde değişiklik yaparak sizde kendinize göre pluginler veya widget'ler yapabilirsiniz.

PHP:
  1. /*
  2. Plugin Name: Site Pagerank
  3. Plugin URI: http://www.weblistele.com/
  4. Description: Pagerank widget denemesi
  5. Author: Zafer BAHADIR
  6. Version: 1.0
  7. Author URI: http://www.weblistele.com/
  8. */
  9.  
  10. function widget_pagerank($args) {
  11. extract($args);
  12. $options = get_option('widget_pagerank');
  13. $title = apply_filters('widget_title', $options['title']);
  14. if ( empty($title) )
  15. $title = '&amp;nbsp;';
  16. echo $before_widget . $before_title . $title . $after_title;
  17. echo '&lt;div id="pagerank_wrap"&gt;';
  18. ?&gt;
  19. &lt;br /&gt;
  20. &lt;a href="http://www.mypagerank.net" target="_blank"&gt;
  21. &amp;nbsp;&amp;nbsp;&lt;img src="http://www.mypagerank.net/services/pagerankbutton/pagerankbutton.php?aut=de510918b8ea76980b92ea9e5d205b015e481667b926a44a75" border="0" alt="Powered by  MyPagerank.Net" /&gt;&lt;/a&gt;
  22. &lt;br /&gt;&lt;br /&gt;
  23. &lt;?php
  24. echo '&lt;/div&gt;';
  25. echo $after_widget;
  26. }
  27.  
  28. function widget_pagerank_options() {
  29. $options = $newoptions = get_option('widget_pagerank');
  30. if ( $_POST["pagerank-submit"] ) {
  31. $newoptions['title'] = strip_tags(stripslashes($_POST["pagerank-title"]));
  32. }
  33. if ( $options != $newoptions ) {
  34. $options = $newoptions;
  35. update_option('widget_pagerank', $options);
  36. }
  37. $title = attribute_escape($options['title']);
  38. ?&gt;
  39. &lt;p&gt;&lt;label for="pagerank-title"&gt;&lt;?php _e('Title:'); ?&gt; &lt;input class="widefat" id="pagerank-title" name="pagerank-title" type="text" value="&lt;?php echo $title; ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;
  40. &lt;input type="hidden" id="pagerank-submit" name="pagerank-submit" value="1" /&gt;
  41. &lt;?php
  42. }
  43.  
  44. function init_pagerank(){
  45. register_sidebar_widget("Site Pagerank", "widget_pagerank");
  46. register_widget_control('Site Pagerank', 'widget_pagerank_options', 350, 120);
  47. }
  48.  
  49. add_action("plugins_loaded", "init_pagerank");

Bu görüntü plugin yerleşim alanından;

Bu konuyu ekleyen :

admin - Toplam 19 yazısı bulunuyor WebListele.


Yönetime bildir...

Yorum Ekle

Yorum ekleyebilmek için burdadan giriş yapabilirsiniz.

Kategoriler

 

ArÅŸiv

Güncel Yorumlar

    Online Üyeler

     

    August 2008
    M T W T F S S
    « Sep    
     123
    45678910
    11121314151617
    18192021222324
    25262728293031

    Sponsored

    Sayfa DeÄŸeri