问题描述

我想知道是否有办法更改 Wordpresses 元框的默认位置,例如自定义帖子类型的”featured image”,而不必手动拖动它们?

例:

最佳解决方案

您可以使用 remove_meta_box 和 re-add 将它们移除与 add_meta_box 不同的位置的默认元框:

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

这将从侧栏中删除它,并将其添加到主列。将本例中的 post 更改为任何您定制的帖子类型命名。

次佳解决方案

我也很努力。我真的没有找到一个干净的方式来重新定义布局/顺序 – 特别是因为当拖动框时,用户可以更改它们。

我喜欢做事情’with’ wordpress(它通常会付出代价),rathe 与它的冲突和 wordpress 的方式如下:

wordpress 存储每个用户每个屏幕的拖动位置,并且有一大堆使用的 user-meta 密钥,取决于它所在的页面/屏幕。

因此,您可以为每个新用户添加一个操作或过滤器,以设置您想要的默认方式的用户设置。 1) 拖动并排列您想要影响的页面,然后 2) 在您的 user-meta 中查看 phpmyadmin 以查看您的 ID,并查看其中存储的 wp 。 3) 然后如果用户没有设置该设置 (为避免覆盖个人选择),则可以按照以下方式对新用户操作进行编码,您可以按照您想要的方式设置所需的操作 – 通过手动设置您找到的值。

要了解您正在寻找的 user-meta metakeys,请看这些截图:http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/

(我最终写了一个通用插件,以便我可以管理员为所有用户定义所有类型的页面/屏幕的首选布局,然后他们可以改变它们,因为它们变得更加精通,而且当 wp 更改时也不会中断作为我的插件的东西只是提取模板用户值,它甚至不会将值设置为硬编码的值。)

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。