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
  • 113 views

Recent posts

Cẩn thận dính mã độc nguy hiểm khi search Google

Cẩn thận dính mã độc nguy hiểm khi search Google

Lợi dụng thói quen tìm kiếm trên Google của nhiều người, tin tặc đã tạo ra nhiều bẫy lừa đảo […]

[WordPress] Hướng dẫn thay đổi thư mục media mặc định trong WordPress

[WordPress] Hướng dẫn thay đổi thư mục media mặc định trong WordPress

Có nhiều lý do khiến bạn muốn thay đổi thư mục mặc định để lưu trữ media (hình ảnh, video,…) […]

Hướng dẫn xác thực số điện thoại cho tài khoản Facebook

Hướng dẫn xác thực số điện thoại cho tài khoản Facebook

Từ ngày 25/12/2024, tất cả các tài khoản mạng xã hội chưa được định danh sẽ bị ngừng hoạt động. […]

Một số người dùng Android có thể sẽ không sử dụng được ứng dụng ngân hàng

Một số người dùng Android có thể sẽ không sử dụng được ứng dụng ngân hàng

Thay đổi này có thể ảnh hưởng đến một bộ phận không nhỏ người dùng ứng dụng ngân hàng trên […]

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ỗ […]

© 2021 Tạp Chí CNTT. Mr Hoang