0

我正在开发一个插件,我正在尝试:

1-将发布元框从正常部分的页面底部移动到页面底部。2- 插件自定义帖子类型编辑页面的强制 1 列布局。3-删除自定义帖子类型的屏幕选项选项卡。

我正在使用下一个代码块,但它不起作用:

function sds_do_meta_boxes() {
    remove_meta_box( 'submitdiv', 'sliding_panel', 'side' );
    add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'sliding_panel', 'normal', 'core' );
}
add_action('do_meta_boxes', 'sds_do_meta_boxes');

function SDS_init() {  //The current user is already authenticated by this time             
        add_filter( 'screen_layout_columns', 'so_screen_layout_columns' );  
        add_filter( 'get_user_option_screen_layout_dashboard', 'so_screen_layout_dashboard' );  
        add_filter( 'screen_options_show_screen', 'SDS_remove_screen_options_tab');                     
}

add_action( 'init', 'SDS_init' );

function so_screen_layout_columns( $columns ) {
    $columns['dashboard'] = 1;
    return $columns;
}   
function so_screen_layout_dashboard() {
    return 1;
}
function SDS_remove_screen_options_tab() {
    return false;
}

因此,“发布”元框已删除,但未重新添加。此外,1 列布局过滤器不起作用。我需要帮助:)

4

1 回答 1

-1

$priority将参数从coreto更改为to 并设置to的high优先级应该可以解决问题。我还建议使用动态挂钩:add_action0add_meta_boxes_{$post_type}

add_action( 'add_meta_boxes_sliding_panel', 'sds_do_meta_boxes', 0, 1 );
function sds_do_meta_boxes( $post )
{
    remove_meta_box( 'submitdiv', 'sliding_panel', 'side' );
    add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'sliding_panel', 'normal', 'high', null );
}
于 2013-11-13T22:51:12.200 回答