2012-01-02 3 views
0

私はWordPressベースの私のサイトのテーマを作っています。私はPHPの専門家ではないので、私は小さな助けが欲しかった。私の問題は、このようなものです:複数のサイドバーの存在を確認するにはどうすればよいですか?

私はそれが4つのサイドバー持って再び内サイドバーのdiv持っている:私の問題は、私はまだ、サイドバーのいずれかで任意のウィジェットを公開していない場合ということです。ここ

<div id="jp-double-bar" class="equal"> 
    <?php if (is_active_sidebar('double-top')) : ?> 
    <div class="jp-double-top"> 
     <?php dynamic_sidebar('double-top'); ?> 
    </div> 
    <?php endif; ?> 
    <div class="double-middle"> 
     <?php if (is_active_sidebar('middle-2')) : ?> 
     <div class="jp-middle-2 equalmiddle"> 
      <?php dynamic_sidebar('middle-2'); ?> 
     </div> 
     <?php endif; ?> 
     <?php if (is_active_sidebar('middle-1')) : ?> 
     <div class="jp-middle-1 equalmiddle"> 
      <?php dynamic_sidebar('middle-1'); ?> 
     </div> 
     <?php endif; ?> 
    </div> 
    <?php if (is_active_sidebar('double-bottom')) : ?> 
    <div class="jp-double-bottom"> 
     <?php dynamic_sidebar('double-bottom'); ?> 
    </div> 
    <?php endif; ?> 
</div> 

を外部<div id="jp-double-bar">が表示されます。

私の質問は... <?php if():?>文で個々のサイドバーをラップする方法は、メインの外側divを4つのif文で囲む方法です。

4つのサイドバーのいずれかにウィジェットが公開されていない場合、メインの外部divはまったく表示されません。

親切にお手伝いください。

よろしく

答えて

1

あなたがバーを取得するためにwp_get_sidebars API呼び出しを使用しなければならないことと思われます。これがゼロの長さ(空)であることを確認してください。

それとも、あなたはまた、WPのAPIの質問に答えるに優れているhttp://wordpress.stackexchange.comをチェックアウトすることができます使用して、文

if (is_active_sidebar('double-bottom') && is_active_sidebar('') && ...) {} 
+0

。 – mrtsherman

+0

Yaahoooooo !!!それは完全に動作します。ありがとう、たくさんの友達。 –

関連する問題