サポート » 使い方全般 » ウィジェットの優先を解く方法について

  • 解決済 micacita

    (@micacita)


    はじめまして。

    先日無事WPをインストールし、設置したのですが
    デザイン→ウィジェットからサイドバーのメニュー
    を追加したところ、利用しているテンプレートの
    サイドバーのデザインが一部反映されなくなって
    しまいました。

    テンプレートは下記をお借りしています。
    http://blog.gooddesignweb.com/archives/91

    サイドバー検索のデザインを、ウィジェットではなく
    テンプレのもので表示したいのですが、どこを触れば
    よいのかわからずにおります。

    php・CSSの知識の乏しい初心者ですが、ご教示いただ
    ければ幸いです。どうぞよろしくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 micacita

    (@micacita)

    追記:ウィジェットを削除してもテンプレートが反映されませんでした

    モデレーター jim912

    (@jim912)

    micacitaさん、こんにちは。

    ご利用されているテンプレートのsidebar.phpの記述を見ると

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
     :
    テンプレートのサイドバーを出力する記述
     :
    <?php endif; ?>

    となっており、ウィジェットからの出力があった場合は、テンプレートのサイドバー出力を行わない仕様になってるようです。

    おそらく現状は、ウィジェットから何らかの出力が行われているのではないかと思いますので、ウィジェットを編集して、ウィジェットから一切のコード出力が無いようにすれば、直るかと思います。

    あるいは、ウィジェットを使わないと言うのであれば、sidebar.phpの

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

    <?php endif; ?>

    の2行を削除すれば、ウィジェットの設定に関わらずテンプレートの出力が行われるかと思います。ただし、ファイルは編集前に必ずバックアップしておいて、万が一(表示されなくなってしまったときとか)には、すぐに戻せるようにしておくとよいでしょう。

    トピック投稿者 micacita

    (@micacita)

    jim912さま

    早速ご返信ありがとうございました!

    任意のテキスト等でウィジェットも使用したいのですが、
    ウィジェットの【検索】を利用すると、デザイン的に
    ちょっとそっけない感じになってしまいまして、検索窓は
    ウィジェットを使用せず、テンプレートのsidebarのもの
    を使用したいと思っております。

    ウィジェットのテキストから、テンプレートのsidebar内の検索フォームの記述

    <div id=”search”>
    <form method=”get” id=”searchform” action=”<?php bloginfo(‘url’); ?>/”>
    <p><input type=”text” value=”Search…” name=”s” id=”s” onfocus=”if(this.value==’Search…’)this.value=”” onblur=”if(this.value==”)this.value=’Search…'” />
    <input type=”submit” id=”searchsubmit” class=”bt” value=”GO” /></p>
    </form></div>

    をしましたところ、テンプレートの検索窓のデザインは反映されるのですが、
    検索結果はエラーとなってしまいました。

    <?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?>

    <?php endif; ?>

    の2行をコメントアウトしたところ、サイドバーだけ表示されなくなってしまいました。

    お手数おかけいたしますが、引き続き何か良策がございましたらお願い致します。

    モデレーター jim912

    (@jim912)

    micacitaさん、どうもです。

    ウィジェットのテキストではphpが評価されないので、フォームのactionが正しく出力されなくなってしまいます。(ちなみに、ウィジェットでphpを実行できるPHP Code Widgetというプラグインも存在します。)

    テンプレートの編集ですませたいのであれば、sidebar.phpの検索フォームの記述を、

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

    の上か、

    <?php endif; ?>

    の下に移動してください。

    上に移動すれば、テンプレートの検索フォームが上、下に移動すれば、ウィジェットの出力が上に表示されます。

    ではでは。

    トピック投稿者 micacita

    (@micacita)

    jim912さま

    こんにちは!
    上記の方法で無事解決いたしました!

    このたびはたいへん勉強になりました
    ご親切にありがとうございます
    心よりお礼申し上げます

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ウィジェットの優先を解く方法について」には新たに返信することはできません。