サポート » 使い方全般 » functions.phpに書いたウィジェット記述の順番を変えると中の要素がずれる

  • こんにちは。

    またまた質問させていただきます。
    現在、functions.phpに下記のとおり複数ウィジェットを表示させる設定を書いています。
    WordPressの管理画面(ウィジェット)から各ウィジェットに『テキスト』を複数記述していました。

    register_sidebar( array( ‘name’ => ‘リンゴ’, ‘before_widget’ => ‘<div id=”apple”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    register_sidebar( array( ‘name’ => ‘バナナ’, ‘before_widget’ => ‘<div id=”banana”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    register_sidebar( array( ‘name’ => ‘ドリアン’, ‘before_widget’ => ‘<div id=”dorian”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    例:
    【りんご】
    – text1
    – text2

    【バナナ】
    – text3
    – text4

    ところが、後ほどfunctions.phpの上記記述を入れ替えたりしたところ、管理画面(ウィジェット)から配置した『テキスト』が所定のずれて表示されてしまいました。

    例:
    【りんご】
    無し

    【バナナ】
    – text1
    – text2

    現在、数十というウィジェットを管理しており、かつ頻繁に入れ替える必要がある都合から、このような基本的な動作をなんとか変更し、ウィジェットの中に配置した要素がはがれないような施策はできないものかと試行錯誤しています。

    プラグインで回避する方法含めてどなた様かご教授くださいますと幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 複数ウィジェットというか、register_sidebarを複数回使っているようですので…

    もしかすると、register sidebarではなく、register sidebarsを使ってみるといいかもしれません。

    トピック投稿者 taduchan

    (@taduchan)

    kurosquareさま

    ありがとうございます。
    アドバイスいただいた内容を以下のとおり試してみました。

    register_sidebars(1, array( ‘name’ => ‘リンゴ’, ‘before_widget’ => ‘<div id=”apple”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    register_sidebars(1, array( ‘name’ => ‘バナナ’, ‘before_widget’ => ‘<div id=”banana”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    register_sidebars(1, array( ‘name’ => ‘ドリアン’, ‘before_widget’ => ‘<div id=”dorian”>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<h2 class=”widget-title”>’, ‘after_title’ => ‘</h2>’ ) );

    結果は残念ながら、まだfunction.phpで上記register_….の部分を入れ替えると、
    各ウィジェットエリアの中の要素がずれて表示されてしまいます。

    Wiget LogicやDisplay Widgetなどのプラグインも試してみたのですが、WP管理画面のウィジェットページに配置されたウィジェットエリアそれぞれを並び替えるような機能を持つものが見つかりませんでした。

    少しあきらめ気味ですが、まだまだ探してみたいと思います。

    引き続き、ご意見いただけますと嬉しいです。
    たびたびすみません。

    register_sidebars( $number, $args );
    の$numberが全て1になっているので、

    register_sidebars(1, $args );
    register_sidebars(2, $args );
    register_sidebars(3, $args );

    のようにしてみては?

    taduchan さんが最初に書かれたような使い方で、いま、いろいろやってみたのですが特に問題なく動きましたね。

    kurosquare さんのアドバイスを続行されて解決すればOKですけど、もし状況が変わらなかった場合に確認するとしたら、テンプレート側の記述に問題があるとかはないですか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「functions.phpに書いたウィジェット記述の順番を変えると中の要素がずれる」には新たに返信することはできません。