サイドバーに問題があります。 4つのサイドバーがあります: "Essential"、 "Essential +"、 "Premier"、 "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' => ''
)
);
同じページに "Premier"と "Premier +"を表示する必要があります。このときWordPressが両方のページに同じコンテンツを表示するようにした場合、どうすれば解決できますか?
なんでこんなことが起こっているの?
register_sidebar()
に渡されるid
パラメータを介して、一意のIDを各動的サイドバーに付けてみてください。 :
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' => ''
)
);
そして、IDでそれぞれを呼び出します。
dynamic_sidebar( 'essential' );
dynamic_sidebar( 'premier' );
dynamic_sidebar( 'essential-plus' );
dynamic_sidebar( 'premier-plus' );
ただし、はでname
またはID
で呼び出すことができます。
dynamic_sidebar( 'Essential Plan' );
dynamic_sidebar( 'Premier Plan' );
dynamic_sidebar( 'Essential+ Plan' );
dynamic_sidebar( 'Premier+ Plan' );
... "+"がパラメータからサニタイズされない限り