2010-11-18 34 views
1

Ich möchte änderbare Widget Titel über Optionen Panel in wp-admin> Darstellung> Widgets.Wordpress Widget Optionen speichern funktioniert nicht

Es scheint nicht zu funktionieren, nach dem Klicken auf "SAVE" gibt es immer den Standard zurück, anstatt Sachen zu speichern.

Widgets Bedienfeld ist sehr simpel:

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); 

} 

Und Plugin geht so:

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

Antwort

0
  1. Ich glaube, Sie verwenden update_option(); falsch. Es braucht nur zwei Werte. http://codex.wordpress.org/Function_Reference/update_option

  2. Versuchen Sie, den Namen Ihres Titelfeldes einfach "Titel" zu ändern. Ich denke, WP sucht standardmäßig danach; siehe: http://wordpress.org/support/topic/how-can-i-set-a-widgets-title-in-for-use-in-the-dashboard

  3. Anstatt $ _POST ['title'] zu verwenden, verwenden Sie den Standard $ this-> get_field_id ('title'); und echo $ this-> get_field_name ('title');

Hoffe, das hilft! Außerdem: Sie können den folgenden Link hilfreich finden: http://wpengineer.com/1023/wordpress-built-a-widget/