Sửa lại dữ liệu post trước khi lưu vào CSDL [wordpress]

by admincp
323 Xem

Đây là một trong số wordpress hook khá hữu ích cho phép bạn sửa lại nội dung post mà không khi nhập post không làm được, vd sửa lại custom field theo điều kiện…
WordPress cung cấp mọi hook tại nơi nó sử lý và hiển thị dữ liệu và để sửa nội dung post sau khi nhấn Update/Publish trong cửa sổ nhập bài viết, trước khi lưu vào database bạn được phép sửa lại thông tin post bởi hook ‘save_post‘.

function update_test( $post_id, $post ) { 
  if (isset($post->post_status) && 'auto-draft' == $post->post_status) {
    return;
  }
  update_post_meta($post_id, 'copied', '1');
  update_post_meta($post_id, 'blurb', 'this value updated by save_post action');
}
add_action( 'save_post', 'update_test', 1, 2);

Sử dụng hàm ‘update_post_meta’ để lưu lại custom field mong muốn. Mặc định những fields bạn thêm vào trong Custom Field Meta box sẽ tự động được lưu. Tuy nhiên bạn có thể sửa lại hoặc thêm field ngoài chưa có.

Sửa lại post_meta

Bạn có thể sửa lại giá trị của mọi post_meta với hook updated_post_meta. Ví dụ:

/**
 * Use value of post meta for something when the post 
 * meta changes
 * @param  integer $meta_id    ID of the meta data field
 * @param  integer $post_id    Post ID
 * @param  string $meta_key    Name of meta field
 * @param  string $meta_value  Value of meta field
 */
function saveYouTubeInfo($meta_id, $post_id, $meta_key='', 
                                             $meta_value=""){

    // Stop if not the correct meta key
    if ( $meta_key != 'my_meta_field_name') {
        return false;
    }

    // Function code goes here.
}

add_action('updated_post_meta', 'saveYouTubeInfo', 10, 4);

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên TwitterFacebook

Liên hệ

Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net

Hotline tư vấn: 0989 48 3456

Nguồn: Sưu tầm trên internet

Bài viết liên quan

Leave a Comment