将WordPress小工具添加到设置页

时间:2011-11-14 作者:Omar Abid

我希望在我的插件设置页面中加入小部件,就像WordPress仪表板中的小部件一样。

注册小部件的操作是

add_action(\'wp_dashboard_setup\', \'register_widgets\' );
我想知道你自己的设置页面是否也可以这样做。

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您可以致电:

add_meta_box( $widget_id, $widget_name, $callback, $screen->id, $location, $priority );
其中,通过以下方式获得屏幕ID:

$screen = get_current_screen();
然后显示每个位置,例如:

do_meta_boxes( $screen->id, \'column3\', \'\' );
以下是显示仪表板的仪表板功能:

function wp_dashboard() {
    global $screen_layout_columns;

    $screen = get_current_screen();

    $hide2 = $hide3 = $hide4 = \'\';
    switch ( $screen_layout_columns ) {
        case 4:
            $width = \'width:24.5%;\';
            break;
        case 3:
            $width = \'width:32.67%;\';
            $hide4 = \'display:none;\';
            break;
        case 2:
            $width = \'width:49%;\';
            $hide3 = $hide4 = \'display:none;\';
            break;
        default:
            $width = \'width:98%;\';
            $hide2 = $hide3 = $hide4 = \'display:none;\';
    }
?>
<div id="dashboard-widgets" class="metabox-holder">
<?php
    echo "\\t<div class=\'postbox-container\' style=\'$width\'>\\n";
    do_meta_boxes( $screen->id, \'normal\', \'\' );

    echo "\\t</div><div class=\'postbox-container\' style=\'{$hide2}$width\'>\\n";
    do_meta_boxes( $screen->id, \'side\', \'\' );

    echo "\\t</div><div class=\'postbox-container\' style=\'{$hide3}$width\'>\\n";
    do_meta_boxes( $screen->id, \'column3\', \'\' );

    echo "\\t</div><div class=\'postbox-container\' style=\'{$hide4}$width\'>\\n";
    do_meta_boxes( $screen->id, \'column4\', \'\' );
?>
</div></div>

<form style="display:none" method="get" action="">
    <p>
<?php
    wp_nonce_field( \'closedpostboxes\', \'closedpostboxesnonce\', false );
    wp_nonce_field( \'meta-box-order\', \'meta-box-order-nonce\', false );
?>
    </p>
</form>

<?php
}
有关更多参考,请参阅wp admin/index。php和包含的仪表板文件。

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?