将摘录元框移至内容编辑器上方

时间:2014-03-11 作者:Abouasy

我找到一个叫“WordPress”的钩子edit_form_after_title“”在标题后添加文本框。

创建新帖子时,如何使用此挂钩在标题后显示摘录?

4 个回复
SO网友:OzzyCzech

很简单,只要注销即可postexcerpt 框,然后在顶部添加另一个框。

这是我的密码

add_action(
  \'admin_menu\', function () {
    remove_meta_box(\'postexcerpt\', \'post\', \'normal\');
  }, 999
);

add_action(\'edit_form_after_title\', \'post_excerpt_meta_box\');

SO网友:Lea Cohen

我从这里改编:https://wordpress.stackexchange.com/a/158485/373

/* -----------------------------------------
 * Put excerpt meta-box before editor
 * ----------------------------------------- */
function my_add_excerpt_meta_box( $post_type ) {
    if ( in_array( $post_type, array( \'post\', \'page\' ) ) ) {
         add_meta_box(
            \'postexcerpt\', __( \'Excerpt\' ), \'post_excerpt_meta_box\', $post_type, \'test\', // change to something other then normal, advanced or side
            \'high\'
        );
    }
}
add_action( \'add_meta_boxes\', \'my_add_excerpt_meta_box\' );

function my_run_excerpt_meta_box() {
    # Get the globals:
    global $post, $wp_meta_boxes;

    # Output the "advanced" meta boxes:
    do_meta_boxes( get_current_screen(), \'test\', $post );

}

add_action( \'edit_form_after_title\', \'my_run_excerpt_meta_box\' );

function my_remove_normal_excerpt() { /*this added on my own*/
    remove_meta_box( \'postexcerpt\' , \'post\' , \'normal\' ); 
}
add_action( \'admin_menu\' , \'my_remove_normal_excerpt\' );

SO网友:Jørgen Rudolph Låker

function jb_post_excerpt_meta_box($post) {
    remove_meta_box( \'postexcerpt\' , $post->post_type , \'normal\' );  ?>
    <div class="postbox" style="margin-bottom: 0;">
        <h3 class="hndle"><span>Excerpt</span></h3>
        <div class="inside">
             <label class="screen-reader-text" for="excerpt"><?php _e(\'Excerpt\') ?></label>
             <textarea rows="1" cols="40" name="excerpt" id="excerpt">
                  <?php echo $post->post_excerpt; ?>
             </textarea>
        </div>
    </div>
<?php }

add_action(\'edit_form_after_title\', \'my_post_excerpt_meta_box\');
这样,您就可以根据需要添加一个摘录框。但重要的是要去掉原来的盒子。否则,您将无法将摘录保存在新框中。

SO网友:David

这个答案与@Ozzychech发布的答案相似,但更具普遍性,它在摘录框中添加了一个标题。此方法的一个缺点是无法通过屏幕选项隐藏摘录框。。。在这种情况下,你需要使用“lea cohen”的答案。

add_action( \'edit_form_after_title\', \'move_excerpt_meta_box\' );
function move_excerpt_meta_box( $post ) {
    if ( post_type_supports( $post->post_type, \'excerpt\' ) ) {
        remove_meta_box( \'postexcerpt\', $post->post_type, \'normal\' ); ?>
        <h2 style="padding: 20px 0 0;">Excerpt</h2>
        <?php post_excerpt_meta_box( $post );
    }
}

结束

相关推荐

作为元描述出现在_excerpt中的HTML实体

这一定很简单,但当我在header中使用下面的函数时。php获取文章摘录,为单个文章或页面使用元描述setup_postdata($post); $excerpt = get_the_excerpt(); echo $excerpt;我最终得到了撇号、引号等的html实体,如下所示:<meta name=\"description\" content=\"There&amp;#8217;s an interesting thing going on in the world of d