我想在自定义帖子中重新排序。我让元框和编辑器一起工作,但目前编辑器位于元框上方,我需要它位于其他位置。
这是我的元框的代码:
// adding the meta boxes
add_action("admin_init", "tl_admin_init");
function tl_admin_init(){
add_meta_box("testimonial_description-meta", __(\'Testimonial Description\', \'sagive\'), "testimonial_description", "testimonial", "normal", "core");
}
// getting, setting and displaying PROJECT DESCRIPTION meta box
function testimonial_description() {
global $post; // this is a must!
$custom = get_post_custom($post->ID); // this is a must!
$testimonial_description = $custom["testimonial_description"][0];
?>
<textarea name="testimonial_description" style="width: 98%; height: 10em; " /><?php echo $testimonial_description; ?></textarea>
<label><?php _e(\'Write a Simple 2 Line Description of your client testimonial without html for clean design.\', \'sagive\'); ?></label>
<?php
}
我试图删除编辑器并在该功能完成后重新安装,但我想这是一个过于简单的解决方案,因为它不起作用。
我已使用以下方法删除编辑器:
/* This will help me get rid of the editor */
function tl_remove_pages_editor(){
remove_post_type_support( \'testimonial\', \'editor\' );
}
add_action( \'init\', \'tl_remove_pages_editor\' );
然后使用再次添加
add_post_type_supports
.
有什么建议吗?
最合适的回答,由SO网友:Chris_O 整理而成
这将允许帖子编辑器像其他可排序的帖子框一样移动。
function move_posteditor( $hook ) {
if ( $hook == \'post.php\' OR $hook == \'post-new.php\' ) {
wp_enqueue_script( \'jquery\' );
add_action(\'admin_print_footer_scripts\', \'move_posteditor_scripts\');
}
}
add_action( \'admin_enqueue_scripts\', \'move_posteditor\', 10, 1 );
function move_posteditor_scripts() {
?>
<script type="text/javascript">
jQuery(\'#postdiv, #postdivrich\').prependTo(\'#your_meta_box_id .inside\' );
</script>
<?php }
SO网友:jb510
此解决方案来自WordPress.org forums 对我来说效果很好,没有任何JS。我将其修改为仅针对单个CPT,因此在下面的代码中替换{post-type}
使用要针对的帖子类型:post
, page
, my_custom_post_type
, 等(如果这让人困惑,请参阅该标准页面/帖子示例中指向.org的引用链接)
add_action( \'add_meta_boxes\', \'jb_make_wp_editor_movable\', 0 );
function jb_make_wp_editor_movable() {
global $_wp_post_type_features;
if (isset($_wp_post_type_features[\'{post-type}\'][\'editor\']) && $_wp_post_type_features[\'{post-type}\'][\'editor\']) {
unset($_wp_post_type_features[\'{post-type}\'][\'editor\']);
add_meta_box(
\'description_sectionid\',
__(\'Description\'),
\'jb_inner_custom_box\',
\'{post-type}\', \'normal\', \'high\'
);
}
}
function jb_inner_custom_box( $post ) {
the_editor($post->post_content);
}