特征图片的位置一开始已经写死在Wordpress 核心里了,如果你想把它移到左边区域,或者边栏的靠前位置,下面或许是一个解决方案。
首先是去除掉特色图片的metabox,然后使用 add_meta_box 重新添加。 post_thumbnail_meta_box 是一个已经定义好的函数,可以直接调用。
前提:你必须在模板里已经启用 Post Thumbnails
add_theme_support( 'post-thumbnails' ); add_theme_support( 'post-thumbnails', array( 'post' ) ); // Posts only add_theme_support( 'post-thumbnails', array( 'page' ) ); // Pages only add_theme_support( 'post-thumbnails', array( 'post', 'movie' ) ); // Posts and Movies
然后:
add_action('do_meta_boxes', 'customposttype_image_box'); function customposttype_image_box() { remove_meta_box( 'postimagediv', '', 'side' ); add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'side', 'high'); add_meta_box('postimagediv', __('Page Featured Image'), 'post_thumbnail_meta_box', 'page', 'side', 'high'); }
在使用中发现,可能会对 custom post type 无效导致 特色图片的 metabox 消失。可能是因为注册 custom post type 的时间晚了,如果在 action “after_setup_theme” 的时候注册,运行正常!