web-dev-qa-db-fra.com

Comment puis-je placer manuellement un code de widget

Est-il possible de placer un certain widget n'importe où sur le site?

Par exemple :

J'utilise le widget texte dans ma barre latérale pour le titre que j'ai mis sur YouTube, et j'y ai placé le code d'intégration YouTube. Mais je veux que ce widget aille en haut du site. Comment puis-je rendre cela possible tout en utilisant le menu des widgets, sans apparaître dans la barre latérale, mais où que je sois placé?

Si ce n'est pas possible, quelqu'un connaît-il un widget de la barre latérale de YouTube, un widget qui peut vous permettre de placer le code du widget n'importe où sur le site et de le faire également à partir du menu des widgets?

4
Terrell Anderson

Enregistrez juste une autre zone de widget. Ne prenez pas le nom sidebar littéralement, vous pouvez utiliser les champs n’importe où sur votre page.

Dans le functions.php de votre thème:

add_action( 'after_setup_theme', 'register_multiple_widget_areas' );

function register_multiple_widget_areas()
{
    register_sidebar(
        array(
        'name'          => 'Sidebar',
        'id'            => 'sidebar',
        'description'   => 'describe the function of the box.'
        )
    );
    register_sidebar(
        array(
        'name'          => 'Header',
        'id'            => 'header-widget',
        'description'   => 'Goes at the top of the page.'
        )
    );
}

Et partout où vous avez besoin de l'appel du widget d'en-tête:

dynamic_sidebar( 'header-widget' );

Voir aussi register_sidebar() et dynamic_sidebar() .

2
fuxia

Vous pouvez utiliser the_widget() :

the_widget(
    'WP_Widget_Archives',
    [
        'title'    => __( 'Archives', 'your-textdomain' ),
        'count'    => true,
        'dropdown' => true,
    ],
    [
        'before_widget' => '<section class="widget__container">',
        'after_widget'  => '</section>',
        'before_title'  => '<h2 class="widget__title">',
        'after_title'   => '</h2>',
    ]
);
1
kaiser