0

ワードプレス 3.5

WordPress の register_sidebar ドキュメントを使用して、次のような動的サイドバーを作成します。

$sidebar = array(
    'name'          => 'Main Side Bar',
    'id'            => 'Aisis_Side_Bar',
    'before_widget' => '<li>',
    'after_widget'  => '</li>',
    'before_title'  => '<h2>',
    'after_title'   => '</h2>'
);

register_sidebar($sidebar);

問題は、管理セクションのウィジェット セクションに移動してウィジェットをサイドバーにドラッグ アンド ドロップすると、すべてが機能することです。そのページを更新するか、離れて戻ってくると、ウィジェットがなくなり、サイドバーが空になります。

また、フロントエンドにも表示されません。

アイデア?

4

2 に答える 2

1

コメントするには長すぎるため、ここに投稿します。実際には回答ではありません。

そして、あなたは<?php dynamic_sidebar('Main Side Bar'); ?>あなたのテンプレートのようなものを持っていますか?

WordPressウィジェットが消えるのを2回見ましたが、どちらもAjaxを介してすべてを実行しているページに関連しています。1つ目は、[外観] >> [ウィジェット]のみを表示していて、ページを長時間開いたままにすると、WordPressはサインアウトしますが、何も保存されていなくても、ページは通常どおりに動作し続けます。

もう1つは、複数の管理者がいる場合です。すべてのウィジェットとそのオプションは、ウィジェットで[保存]をクリックするたびに保存されます。[保存]をクリックしたウィジェットの情報が保存されるだけではありません。したがって、別の人が管理者としてログインし、[外観] >> [ウィジェット]を表示している場合、ウィジェットを[メインサイドバー]に保存すると、[外観]>>[ウィジェット]を更新しない限り画面に表示されません。したがって、ウィジェットで[保存]をクリックすると、「メインサイドバー」が空として保存され、ウィジェットが「消去」されます。

また、複数のウィジェット領域を作成する場合は、functions.phpで他のウィジェット領域の下に追加してください。WordPressは、名前や設定したIDではなく、ID番号に基づいてウィジェットを適切な領域に配置します。したがって、「ABC」が最初に登録するウィジェット領域である場合、いくつかのウィジェットをドロップし、functions.phpで他の領域のに新しい領域「DEF」を登録すると、ABCは空になります。

これらの状況のいずれにも当てはまらない場合は、IDを変更して、ハイフンを使用するようにしてください。次に、エラーログを調べて、すべてのプラグインを無効にし、mod_securityが投稿をインターセプトしていないことを確認します。

于 2012-12-16T18:16:39.567 に答える
0

古い質問ですが、3年経った今日でもまだ問題があります。私の修正:

サイドidバー配列をcameCaseからsnake_caseまたはspinal-case!

于 2016-10-31T03:21:45.260 に答える