2009-11-05 3 views
0

Je comprends la fonction ci-dessous pour les widgets Wordpress:Comment modifier correctement cette fonction Wordpress pour les widgets?

register_sidebar(array(
     'name' => 'sidebar', 
     'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="widgetTop"></div>', 
     'after_widget' => '</div>', 
     'before_title' => '<h2 class="accordion_toggle">', 
     'after_title' => '</h2>', 
    )); 

comme before_title et after_title sont mes H2 titres du widget, et le before_widget et le widget after_widget lui-même enferme. Mais que se passe-t-il si je dois mettre une classe à l'intérieur du widget, plutôt qu'à l'extérieur? Je veux que tout le contenu du widget ait une certaine classe. Quelle serait la syntaxe correcte pour cela (inside_widget)?

+0

Voir http://wordpress.org/support/topic/328671 – Michael

Répondre

0

Peut être vous avez besoin de ceci Cet exemple de code crée un widget nommé FooWidget qui a un formulaire de paramètres pour modifier le titre d'affichage.

/** 
* FooWidget Class 
*/ 
class FooWidget extends WP_Widget { 
    /** constructor */ 
    function FooWidget() { 
     parent::WP_Widget(false, $name = 'FooWidget'); 
    } 

    /** @see WP_Widget::widget */ 
    function widget($args, $instance) {  
     extract($args); 
     $title = apply_filters('widget_title', $instance['title']); 
     ?> 
       <?php echo $before_widget; ?> 
        <?php if ($title) 
         echo $before_title . $title . $after_title; ?> 
        Hello, World! 
       <?php echo $after_widget; ?> 
     <?php 
    } 

    /** @see WP_Widget::update */ 
    function update($new_instance, $old_instance) {    
     return $new_instance; 
    } 

    /** @see WP_Widget::form */ 
    function form($instance) {    
     $title = esc_attr($instance['title']); 
     ?> 
      <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></label></p> 
     <?php 
    } 

} // class FooWidget 
// register FooWidget widget 
add_action('widgets_init', create_function('', 'return register_widget("FooWidget");')); 

Peut être que vous avez besoin de cette

Questions connexes