Tôi muốn kiểm tra xem một thanh bên đã đăng ký có nội dung tiện ích không - nhưng dường như không thể tìm thấy chức năng WP cho việc này - is_active_widget kiểm tra xem nó có nội dung không, nhưng có tồn tại hay không.
function ql_widget( $widget, $widget_name, $element = 'sider' ){
if ( $widget ) { // widget name passed ##
// check if widget is active - return html & widget content if true ##
if ( is_active_sidebar( $widget ) ) {
echo '
<div class="'.$element.'">';
dynamic_sidebar( $widget );
echo '</div>';
} else {
// issue error if requested widget does not exist or is empty ##
if ( ql_user_is_administator() ) { // user is admin ##
if ( dynamic_sidebar( $widget ) ) { // empty ##
$message = 'empty';
} else { // widget ID or name wrong ##
$message = 'error';
}
?>
<div class="error"><strong>Widget <?php echo $message; ?>:</strong>
<?php echo $widget_name ? $widget_name : $widget ; ?></div>
<?php
}
}
}
}
Tôi gọi nó trên trang bằng cách sử dụng:
// load widget ##
// widget_id, widget name, class of containing element ##
ql_widget( 'sidebar-general', 'Standard Sidebar', 'sider' );
Các thanh bên được đăng ký chính xác với register_sidebar () và có một ID duy nhất được gán cho mỗi.
Hiện tại chức năng này trả về lỗi cho quản trị viên nếu tiện ích bị thiếu hoặc trống - Tôi muốn có thể điều chỉnh lỗi để cho biết nếu nó thiếu hoặc trống
Cảm ơn!
CẬP NHẬT đây là chức năng làm việc: liên kết đến pastebin