これは、私が何度も対処してきた一般的な Wordpress の問題ですが、解決する良い方法が見つからないようです。
基本的にタイトル通りです。多数のウィジェット位置が登録されており、それらの位置にはすべてウィジェットが含まれています。新しいウィジェットの位置を登録し、バックエンドを確認すると、新しい位置は正常に登録されていますが、Wordpress はどのウィジェットがどこに移動するのかを追跡できず、それらはすべて間違った場所にあります。もう一度並べ替えるには、ドラッグ アンド ドロップする必要があります。
大きな頭痛の種ではありませんが、クライアントが新しいページを追加してウィジェットの位置を動的に作成できる場合は少し面倒です。例を挙げると、
functions.php では、サイト内の各ページに新しいウィジェット コンテナーを登録します。
$sitepages = get_pages();
foreach ($sitepages as $pagesitem) {
register_sidebar(array(
'ID' => 'sidebar',
'name'=>get_the_title($pagesitem->ID),
'before_widget' => '<div class="sidebox">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
}
そして、ウィジェットはサイドバーで次のように呼び出されます。
<?php
$pagetitle = get_the_title($post->ID);
if (function_exists('dynamic_sidebar') && dynamic_sidebar("$pagetitle")) : else :
// Our page specific widgets load in here.
endif;
?>
新しいページの作成がすべてを「再編成」することを除いて、すべてがうまく機能します。多分私は太っています(それは起こります!)どんな助けも大歓迎です。
編集
Wordpress がこれらの新しく登録されたウィジェットの位置を配置する背後に韻や理由はないようです。それらは、既存のウィジェットの中で一見ランダムな位置に表示されるだけです。新しいウィジェットがリストの一番下に配置されれば OK です。予想どおり空です。リストの中央に配置すると、他の位置に含まれる他のすべてのウィジェットが隣接するウィジェット位置に移動されます。