J'ai un problème avec une barre latérale. J'ai 4 barres latérales: "Essential", "Essential +", "Premier" et "Premier +".
register_sidebar(
array(
'name' => __('Essential Plan'),
'before_widget' => '<ul>',
'after_widget' => '</ul>',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'name' => __('Premier Plan'),
'before_widget' => '<ul>',
'after_widget' => '</ul>',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'name' => __('Essential+ Plan'),
'before_widget' => '<ul>',
'after_widget' => '</ul>',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'name' => __('Premier+ Plan'),
'before_widget' => '<ul>',
'after_widget' => '</ul>',
'before_title' => '',
'after_title' => ''
)
);
Je dois rendre "Premier" et "Premier +" dans la même page. Lorsque je fais cela, WordPress rend le même contenu pour les deux pages, comment puis-je résoudre ce problème?
Pourquoi cela arrive-t-il?
Essayez de donner un identifiant unique à chaque barre latérale dynamique, via le paramètre id
passé à register_sidebar()
:
register_sidebar(
array(
'id' => 'essential',
'name' => __('Essential Plan'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'id' => 'premier',
'name' => __('Premier Plan'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'id' => 'essential-plus',
'name' => __('Essential+ Plan'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
register_sidebar(
array(
'id' => 'premier-plus',
'name' => __('Premier+ Plan'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
Et ensuite, appelez chacun par ID:
dynamic_sidebar( 'essential' );
dynamic_sidebar( 'premier' );
dynamic_sidebar( 'essential-plus' );
dynamic_sidebar( 'premier-plus' );
Cependant, vous devriez pouvoir les appeler via name
ou ID
:
dynamic_sidebar( 'Essential Plan' );
dynamic_sidebar( 'Premier Plan' );
dynamic_sidebar( 'Essential+ Plan' );
dynamic_sidebar( 'Premier+ Plan' );
... sauf si le "+" est nettoyé du paramètre?