Chào các bạn, trong bài hướng dẫn trước chúng tôi đã hướng dẫn các bạn cách sử dụng và lấy dữ liệu của Custom Field trong WordPress (WP).


Nhưng với các thêm Custom Field đó bạn phải chọn “Name” và thêm giá trị. Bài viết này chúng tôi sẽ hướng dẫn các bạn tạo Meta Box chèn dữ liệu cho Custom Field.

Trước tiên bạn mở file file functions.php và thêm đoạn code sau:

/* Meta Post ----------------*/

$post_in_tapchicntt =
  array(
  "price" =>
	  array(
		  "name" => "price",
		  "type" => "text",
		  "std" => "",
		  "title" => "Price",
		  "description" => "Giá Bán"
	),
	"discount" =>
	  array(
		  "name" => "discount",
		  "type" => "text",
		  "std" => "",
		  "title" => "Discount",
		  "description" => "Giá Giảm"
	),
	"sku" =>
	  array(
		  "name" => "sku",
		  "type" => "text",
		  "std" => "",
		  "title" => "Code Product (SKU)",
		  "description" => ""
	)
 );

function post_in_tapchicntt() {
  global $post, $post_in_tapchicntt;
  $output = '<style>
  				label#tutorial_custom { display: block; font-weight: bold; padding: 5px;}
				input.tutorial_custom { padding: 5px}
  			</style>';
  foreach($post_in_tapchicntt as $meta_box) {
    $meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);

    if($meta_box_value == "")
      $meta_box_value = $meta_box['std'];

	if ($meta_box['type'] == 'text' ){
		$output .= '<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
		$output .= '<label id="tutorial_custom" for="'.$meta_box['name'].'">'.$meta_box['title'].'</label>';
		$output .= '<input class="tutorial_custom" type="'.$meta_box['type'].'" name="tutorialblog_'.$meta_box['name'].'" value="'.$meta_box_value.'" width="90%" /><br />';
		$output .= $meta_box['description'].'<br />';
	}
  }
  echo $output;

}

function create_meta_box() {
  if ( function_exists('add_meta_box') ) {
    add_meta_box( 'new-meta-boxes', 'Thông tin sản phẩm', 'post_in_tapchicntt', 'post', 'normal', 'high' );
  }
}

function save_postdata( $post_id ) {
  global $post, $post_in_tapchicntt;

  foreach($post_in_tapchicntt as $meta_box) {
  // Verify
  if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
    return $post_id;
  }

  if ( 'page' == $_POST['post_type'] ) {
  if ( !current_user_can( 'edit_page', $post_id ))
    return $post_id;
  } else {
  if ( !current_user_can( 'edit_post', $post_id ))
    return $post_id;
  }

	$data = $_POST['tutorialblog_'.$meta_box['name']];

	if(get_post_meta($post_id, $meta_box['name']) == "")
		add_post_meta($post_id, $meta_box['name'], $data, true);
	elseif($data != get_post_meta($post_id, $meta_box['name'], true))
		update_post_meta($post_id, $meta_box['name'], $data);
	elseif($data == "")
		delete_post_meta($post_id, $meta_box['name'], get_post_meta($post_id, $meta_box['name'], true));
	  }

}

add_action('admin_menu', 'create_meta_box');
add_action('save_post', 'save_postdata');

Chúc các bạn thành công!

  • WordPress
  • February 20, 2014
  • 0 comment
  • 86 views

Recent posts

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tuần này, Google AI Overviews bắt đầu triển khai đến hơn 100 quốc gia, bao gồm Việt Nam và hỗ […]

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Giám đốc điều hành Apple Tim Cook chia sẻ Apple Intelligence không chỉ đơn thuần là AI tạo sinh, mà […]

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Bản cập nhật iOS 18.1 được Apple phát hành ngày 28/10, đưa một số tính năng AI của Apple Intelligence […]

Apple sắp phát hành iOS 18.1

Apple sắp phát hành iOS 18.1

Dự kiến, iOS 18.1 sẽ chính thức được phát hành cho các mẫu iPhone tương thích vào tuần tới. Hiện, […]

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Một số người dùng vừa nâng cấp lên iPhone 16 phản ánh rằng thiết bị của họ gặp phải tình […]

© 2021 Tạp Chí CNTT. Mr Hoang