web-dev-qa-db-fra.com

Comment ajouter une page spécifique au widget sans plugin?

J'ai ajouté la page au widget et mon wordpress ajoute toutes mes pages dans le widget.

Je veux ajouter simplement une page de contact au widget et supprimer toutes les autres pages du widget.

Comment faire cela sans plugin?

    register_sidebar( array(
    'name'          => esc_html__( 'Sidebar', 'onepress' ),
    'id'            => 'sidebar-1',
    'description'   => '',
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget'  => '</aside>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
   ) );
1
javaprogrammer

Suivez cette étape pour Seule une page ajoute une barre latérale personnalisée

Étape 1: Mettez ce code dans votre fichier function.php de thème. Enregistrez la barre latérale personnalisée et votre add_action personnalisée.

function wpdocs_theme_slug_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Custom Sidebar', 'textdomain' ),
        'id'            => 'sidebar-10',
        'description'   => __( 'Widgets in this area will be shown on all posts and pages.', 'textdomain' ),
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'wpdocs_theme_slug_widgets_init' );

add_action( 'your_custom_hook_name', 'your_function_name' );
function your_function_name( $sidebar_name )
{
    is_page( 'sample-page' ) && dynamic_sidebar( 'sidebar-10' ); // your sidebar name
    remove_action( current_filter(), __FUNCTION__ );
}

Étape 2: Mettez ce code là où vous affichez ces widgets

<?php do_action( 'your_custom_hook_name' ); ?>
1
Jignesh Patel