2016-07-17 5 views
1

フッタが正常なページで正常に表示されます。私は新しい投稿テンプレートを作成し、これをフッターに入れました:(WP)新しい単一のテンプレートと2番目のサイドバーにフッターが表示されない

<?php if (!function_exists('dynamic_sidebar') || dynamic_sidebar('sidebar-2')) 
    get_footer(); 

このように私のウィジェットはきれいです。

add_action('widgets_init', 'child_register_sidebar'); 
    function child_register_sidebar(){ register_sidebar(array(
    'name' => 'Sidebar 2 for single_withnotes', 
    'id' => 'sidebar-2', 
    'description' => '', 
    'before_widget' => '<section id="%1$s" class="widget %2$s">', 
    'after_widget' => '</section>', 
    'before_title' => '<span class="widget-title">', 
    'after_title' => '</span>', 
    )); 
    } 

と私の新しいサイドバーのようになります。:これはなぜ

if (! is_active_sidebar('sidebar-2')) { 
return; 
    } 
    ?> 
    <div id="secondary" class="widget-area" role="complementary"> 
     <?php dynamic_sidebar('sidebar-2'); ?> 
    </div><!-- #secondary --> 

誰もがお勧めすることはできますか?私の機能では、私はこれを持っているファイルありがとう。

答えて

0

あなたのコードでは、「if文」が正しいときだけフッターが表示されます。 dynamic_sidebar( "sidebar-2")は、ウィジェット "sidebar-2"が存在し、内容がある場合にのみtrueを返します。

[外観]> [ウィジェット]のサイドバー2にコンテンツを追加したことを確認してください。

dynamic_sidebarがコンテンツを出力バッファに送信するため、「if文」に「is_active_sidebar」を使用する必要があります。あなたは内のコンテンツがある場合


は、「サイドバー2を...」、他の可能性は、その位置にリンクされているウィジェットの一部に誤りがあることです。

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

そして、多少の誤差がページにshownedされている場合見て:あなたのファイルの初めに入れて

また、サイドバー2からすべてのコンテンツを削除し、一部のテキストのみを試してみることもできます。

+0

ありがとうございます - わかりませんが...私のウィジェットにはコンテンツがあります。ウィジェット管理者の「サイドバー2 for single_withnotes」には、私がインストールしたウィジェットとウィジェットを出力するウィジェットが表示されます。 これを理解してはいけません: "if文で" is_active_sidebar "を使うべきです。なぜなら、dynamic_sidebarは内容を出力バッファに送るからです。"私はすでに新しいサイドバーに持っています。 – user2168745

+0

"if"のような条件文があると、その中に何かを入れて、そのような内容のような内容を外部に出力したくない場合、echoやそのようなものがあります。それは良い習慣ではありません。また、別の可能性を追加するために私のanwserを更新しました。 –

+0

OKこれでページテンプレートが変更されました: – user2168745

関連する問題