Publish metabox postition?

时间:2018-10-09 作者:joq3

在我的自定义帖子类型上,当在移动设备上浏览网站时,发布元数据库将位于其他元数据库之上。为了解决这个问题,我改变了几乎所有元数据库的位置和优先级。但有一个元盒我无法使用优先级和上下文移动:https://developer.wordpress.org/reference/functions/add_meta_box/

查看移动设备时,是否可以将发布元数据库移动到始终位于底部?

这是我想要更改的默认位置。

1 个回复
SO网友:benny-ben

您可以尝试删除\'submitdiv\' metabox并以低优先级重新添加,方法如下:

function benny_default_position_publish_box() {

    remove_meta_box( \'submitdiv\', \'post\', \'side\' );
    remove_meta_box( \'submitdiv\', \'page\', \'side\' );
    //remove_meta_box( \'submitdiv\', \'cpt\', \'side\' );

    add_meta_box( \'submitdiv\', __( \'Publish\' ), \'post_submit_meta_box\', \'post\', \'side\', \'low\' );
    add_meta_box( \'submitdiv\', __( \'Publish\' ), \'post_submit_meta_box\', \'page\', \'side\', \'low\' );
    //add_meta_box( \'submitdiv\', __( \'Publish\' ), \'post_submit_meta_box\', \'cpt\', \'side\', \'low\' );

}
add_action( \'do_meta_boxes\', \'benny_default_position_publish_box\' );
但是,如果它不起作用,并且您只需要在移动设备上使用它,您可以尝试设置用户选项来对元数据库进行排序,如下所示:

function benny_user_option_box_position( $order ) {

  if ( wp_is_mobile() ) {

    return array(
        \'normal\'   => join( ",", array(
            \'postexcerpt\',
            \'formatdiv\',
            \'trackbacksdiv\',
            \'tagsdiv-post_tag\',
            \'categorydiv\',
            \'postimagediv\',
            \'postcustom\',
            \'commentstatusdiv\',
            \'slugdiv\',
            \'authordiv\',
            \'submitdiv\',   // <- keep it last
        ) ),
        \'side\'     => \'\',
        \'advanced\' => \'\',
    );

  } else {

    return $order;

  }
}
add_filter( \'get_user_option_meta-box-order_post\', \'benny_user_option_box_position\' );
add_filter( \'get_user_option_meta-box-order_page\', \'benny_user_option_box_position\' );
//add_filter( \'get_user_option_meta-box-order_cpt\', \'benny_user_option_box_position\' );
我还没有测试过,但理论上应该可以

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register