Di chuyển meta box từ side sang normal

Bài viết này sẽ hướng dẫn cho bạn cách di chuyển meta box từ vị trí side bên sidebar sang vị trí normal bên dưới khung soạn thảo bài viết. Áp dụng cho trường hợp bạn muốn thay đổi box chọn chuyên mục xuống dưới khung soạn thảo. Cũng có thể dùng cho mọi meta box bên sidebar bài viết mà bạn thích.

function hocwp_aap_add_meta_boxes_action() {
	global $wp_meta_boxes, $hocwp_plugin;

	$plugin = $hocwp_plugin->auto_add_post;

	if ( $plugin instanceof HOCWP_Plugin_Core ) {
		$post_type = $plugin->short_name . 'packages';
		$meta      = $plugin->short_name . 'sitesdiv';

		if ( isset( $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ] ) ) {
			$box = $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ];
			unset( $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ] );
			$wp_meta_boxes[ $post_type ]['normal']['core'][ $meta ] = $box;
		} else {
			$post_type = $plugin->short_name . 'posts';

			if ( isset( $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ] ) ) {
				$box = $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ];
				unset( $wp_meta_boxes[ $post_type ]['side']['core'][ $meta ] );
				$wp_meta_boxes[ $post_type ]['normal']['core'][ $meta ] = $box;
			}
		}
	}
}

add_action( 'add_meta_boxes', 'hocwp_aap_add_meta_boxes_action' );

Ở đây mình chỉ áp dụng cho 2 post type nhé.

Di chuyển meta box từ side sang normal

Bạn đặt đoạn code bên trên vào tập tin functions.php của giao diện. Biến toàn cục $wp_meta_boxes sẽ chứa toàn bộ meta box được đăng ký với WordPress. Bạn có thể tạo mảng tất cả post type. Sau đó duyệt lặp toàn bộ post type và áp dụng đoạn code kiểm tra meta box có tồn tại hay không.

Cuối cùng, nếu có meta box thì bạn đổi bốc từ vị trí side ra. Lưu tạm vào một biến bất kỳ. Bạn gỡ bỏ meta box đã lấy trong side. Cuối cùng là bỏ meta box vào vị trí normal. Chúc bạn thành công.

Không có bình luận.

Bạn có thể trở thành người đầu tiên để lại bình luận.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *