Tôi tìm thấy một hook WordPress có tên " edit_form_after_title
" để thêm một hộp văn bản sau tiêu đề.
Làm cách nào tôi có thể sử dụng hook này để hiển thị đoạn trích sau tiêu đề trong khi tạo một bài đăng mới?
Tôi tìm thấy một hook WordPress có tên " edit_form_after_title
" để thêm một hộp văn bản sau tiêu đề.
Làm cách nào tôi có thể sử dụng hook này để hiển thị đoạn trích sau tiêu đề trong khi tạo một bài đăng mới?
Câu trả lời:
Tôi thích nghi từ đây: /wordpress//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' );
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');
Bằng cách này, bạn có thể thêm chính xác một hộp trích dẫn tùy thích. Nhưng điều quan trọng là phải loại bỏ hộp ban đầu. Nếu không, bạn sẽ không thể lưu đoạn trích trong hộp mới.
Câu trả lời này tương tự như câu trả lời @OzzyC817, nhưng nó phổ biến hơn và nó thêm một tiêu đề vào hộp trích dẫn. Một nhược điểm của phương pháp này là bạn không thể ẩn hộp trích dẫn thông qua Tùy chọn màn hình ... trong trường hợp đó bạn cần sử dụng câu trả lời của @ 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 );
}
}
meta_box
?