2010-11-18 13 views
1

wp-admin> Görünüm> Widget'larda Seçenekler Paneli aracılığıyla değiştirilebilir widget başlığı olmasını istiyorum.Wordpress Widget seçenekleri kaydetme çalışmıyor

"SAVE" i tıkladıktan sonra işe yaramaz gibi görünmüyor, her zaman bir şeyler kaydetme yerine varsayılanı geri veriyor.

function myplugin_control() { 

    echo '<p> 
      <label for="myplugin_title">Title:</label> 
      <input id="myplugin_title" name="myplugin_title" type="text" value="Default title:"/> 
     </p> 
     <p> 
      <label for="myplugin_number">Number of items to show:</label> 
      <input id="myplugin_number" name="myplugin_number" type="text" value="5" size="3"/>'; 

     $myplugin_title = ($_POST["myplugin_title"]); 
     $myplugin_number = ($_POST["myplugin_number"]); 

     update_option('myplugin_widget', $myplugin_number , $myplugin_title); 

} 

Ve eklenti şöyledir:

Widget'lar kontrol paneli çok basite

(...) 
    function widget_myplugin($args) { 
     extract($args); 
     echo $before_widget; 
     echo $before_title . $myplugin_title . $after_title; 
     myplugin(); 
     echo $after_widget;  
    } 

cevap

0
  1. Sana() update_option kullanıyoruz düşünüyorum; yanlış. Sadece iki değer alır. http://codex.wordpress.org/Function_Reference/update_option

  2. Başlık alanınızın adını basitçe "başlık" olarak değiştirmeyi deneyin. WP'nin bunu varsayılan olarak göreceğini düşünüyorum; bakınız: http://wordpress.org/support/topic/how-can-i-set-a-widgets-title-in-for-use-in-the-dashboard

  3. $ _POST ['title'] yerine, daha standart olan $ this-> get_field_id ('title') kullanın; ve echo $ this-> get_field_name ('title');

Bu yardımcı olur umarız! Ayrıca, aşağıdaki bağlantıyı faydalı bulabilirsiniz: http://wpengineer.com/1023/wordpress-built-a-widget/

İlgili konular