2010-03-18 7 views
0

은 내가 DIV에 의해 기사를 마무리하기 위해 노력하고있어, 사이드 바는 비어있는 경우 DIV는 WordPress - 사이드 바를로드하지 않고 비어 있는지 확인하는 방법?

를 표시되지 않아야하지만 전에 사이드를로드로 나는

if(dynamic_sidebar(1)) 
{ 
    echo '<div>'; 
    dynamic_sidebar(1); 
    echo '</div>'; 
} 

같은 코드를 사용할 수 없습니다 DIV가 비어 있지 않으면 아이디어가 있습니까?

답변

2

당신은 항상 출력 버퍼링을 사용할 수 있습니다. 출력 버퍼링이 켜지면 일반적으로 화면에 에코되는 모든 것이 버퍼에 저장됩니다. 그런 다음 div 태그를 출력하기 전에 버퍼에 내용이 있는지 테스트 할 수 있습니다.

ob_start(); 
dynamic_sidebar(1); 
$sidebar = ob_get_clean(); // get the contents of the buffer and turn it off. 
if ($sidebar) { 
    echo "<div>" . $sidebar . "</div>"; 
} 
2

시도 :

if (is_active_sidebar(1)) 
{ 
    echo '<div>'; 
    dynamic_sidebar(1); 
    echo '</div>'; 
} 
+0

작동하지 않습니다. – Edward

2
당신은 워드 프레스 is_dynamic_sidebar()을 사용할 수 있습니다

; 기능.

등록 된 모든 사이드 바가 위젯을 포함하면 true을 반환합니다. 그렇지 않은 경우는 false

예 :이 내가 functions.php에서 실행되는 위젯 영역/사이드 레지스터 스크립트입니다

<?php if(is_active_sidebar('my-sidebar')) { ?> 

<div class="about-us"> 

    <?php dynamic_sidebar('my-sidebar'); ?> 

</div> 

<?php } ?> 

: 나는 문자열, my-sidebar을 사용

function foxinni_widgets_init() { 

    register_sidebar(array(
     'name' => 'My Sidebar', 
     'id' => 'my-sidebar', 
     'description' => '','before_widget' => '','after_widget' => '','before_title' => '','after_title' => '', 
    )); 

} 
add_action('widgets_init', 'foxinni_widgets_init'); 

공지의를 식별 할 수 id로 사이드 바를 보자.

관련 문제