Ich habe ein Problem mit einer Seitenleiste. Ich habe 4 Seitenleisten: "Essential", "Essential +", "Premier" und "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' => ''
)
);
Ich muss "Premier" und "Premier +" auf derselben Seite rendern. Wenn ich dies tue, rendert WordPress den gleichen Inhalt für beide Seiten. Wie kann ich das beheben?
Warum passiert dies?
Versuchen Sie, jeder dynamischen Seitenleiste eineeindeutige IDzuzuweisen. Verwenden Sie dazu den Parameter id
, der an 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' => ''
)
);
Und rufen Sie dann jeden per ID an:
dynamic_sidebar( 'essential' );
dynamic_sidebar( 'premier' );
dynamic_sidebar( 'essential-plus' );
dynamic_sidebar( 'premier-plus' );
Sie sollten jedoch in der Lage sein, sie über name
oder ID
aufzurufen:
dynamic_sidebar( 'Essential Plan' );
dynamic_sidebar( 'Premier Plan' );
dynamic_sidebar( 'Essential+ Plan' );
dynamic_sidebar( 'Premier+ Plan' );
... es sei denn, das "+" wird vom Parameter bereinigt?