web-dev-qa-db-fra.com

WordPress Widget utilisation multiple

J'ai créé ce widget en utilisant un exemple simple sur WordPress Codex:

<?php

function widget_container_latest_posts() {
                             global $wpdb;
                  global $post;
                                get_template_part( '/includes/containers/container-latest-posts' );
}

wp_register_sidebar_widget(
    'widget_container_latest_posts_1',
    'Container Latest Posts',
    'widget_container_latest_posts',
    array( 
    'description' => 'Container Latest Posts - Adds recent posts.'
    )
);
?>

Cela fonctionne bien, mais je veux que ce widget soit utilisé plusieurs fois, pas seulement une fois après l'avoir fait glisser sur un emplacement des widgets de la barre latérale, afin que je puisse l'ajouter à toutes les autres barres latérales, par exemple. Remercier

2
Fnarp

Vous devez implémenter votre widget à l'aide de l'API Widgets afin que WordPress sache créer plusieurs instances du widget.

Votre déclaration de widget devrait prendre le format suivant:

class My_Widget extends WP_Widget {
    function My_Widget() {
        // widget actual processes
    }

    function form($instance) {
        // outputs the options form on admin
    }

    function update($new_instance, $old_instance) {
        // processes widget options to be saved
    }

    function widget($args, $instance) {
        // outputs the content of the widget
    }

}
register_widget('My_Widget');
3
Chip Bennett