我想通過一個DIV包裹側邊欄,如果側邊欄是空的DIV不應該顯示WordPress - 如何知道側欄是否爲空而不加載?
但我不能使用電碼一樣
if(dynamic_sidebar(1))
{
echo '<div>';
dynamic_sidebar(1);
echo '</div>';
}
,因爲它會之前加載側邊欄DIV如果不是空的,有什麼想法?
我想通過一個DIV包裹側邊欄,如果側邊欄是空的DIV不應該顯示WordPress - 如何知道側欄是否爲空而不加載?
但我不能使用電碼一樣
if(dynamic_sidebar(1))
{
echo '<div>';
dynamic_sidebar(1);
echo '</div>';
}
,因爲它會之前加載側邊欄DIV如果不是空的,有什麼想法?
您可以隨時使用輸出緩衝。當輸出緩衝打開時,任何通常會回顯到屏幕的內容都會存儲在緩衝區中。然後可以在輸出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>";
}
嘗試:
if (is_active_sidebar(1))
{
echo '<div>';
dynamic_sidebar(1);
echo '</div>';
}
可以使用WordPress的is_dynamic_sidebar();功能。
如果任何註冊的側欄包含一個小部件,它將返回true
;否則爲false。
實施例:
<?php if(is_active_sidebar('my-sidebar')) { ?>
<div class="about-us">
<?php dynamic_sidebar('my-sidebar'); ?>
</div>
<?php } ?>
這是窗口小部件區域/側邊欄寄存器腳本餘從functions.php
運行:
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');
注意,我使用的字符串,my-sidebar
,以識別側邊欄由id。
它不起作用 – Edward 2010-03-18 10:47:59