Tôi Thích Kiếm Tiền Online
No Result
View All Result
  • Login
  • Đầu tư & Giao dịch
  • Kỹ năng kiếm tiền
  • Kiếm tiền Online
    • Google Adsense
    • Youtube
    • Clickbank
    • Affiliate Marketing
    • Blogging
    • Tiền điện tử
PRICING
SUBSCRIBE
  • Đầu tư & Giao dịch
  • Kỹ năng kiếm tiền
  • Kiếm tiền Online
    • Google Adsense
    • Youtube
    • Clickbank
    • Affiliate Marketing
    • Blogging
    • Tiền điện tử
No Result
View All Result
Tôi Thích Kiếm Tiền Online
No Result
View All Result
Home Kiến thức cơ bản Kiến thức WordPress

Thêm trường dữ liệu (custom field) cho bài viết

hoanglaota by hoanglaota
6 Tháng Tám, 2018
8 min read
0
Thêm trường dữ liệu (custom field) cho bài viết
Buy JNews
ADVERTISEMENT

Mục lục nội dung

  1. Custom Field là gì?
  2. Hướng dẫn ứng dụng Custom Field
  3. Các hàm hiển thị giá trị custom field
    1. get_post_meta()
  4. Các hàm thao tác với custom field
    1. update_post_meta()
    2. delete_post_meta()
  5. Lời kết
    1. Xem tiếp bài trong serie
Bài này thuộc phần 8 của 10 phần trong serie WordPress nâng cao

Một trong số các tính năng mạnh mẽ trong WordPress có thể giúp các lập trình viên có thể thêm nhiều tính năng hay trong các bài viết trong WordPress, đó là tính năng Custom Field. Hầu hết hiện nay chúng ta không sử dụng custom field độc lập nhưng hiểu custom field là nền tảng quan trọng để sau này bạn tìm hiểu thêm Meta Boxes hoặc các plugin thông dụng như Advanced Custom Field.

Custom Field là gì?

Giải thích ngắn gọn thì đó là một dữ liệu bổ sung để thêm vào các bài viết (Post, Page). Nghĩa là chúng ta có thể thêm một cột dữ liệu trong mỗi bài viết để nó mang một giá trị tương ứng. Ví dụ như mặc định WordPress chỉ hỗ trợ nhập tiêu đề bài viết, nhưng với Custom Field bạn có thể thêm một trường dữ liệu kiểu như Tiêu đề phụ chẳng hạn.

Hướng dẫn ứng dụng Custom Field

Các bạn vào Posts -> Add New và nhìn xuống dưới sẽ thấy cái khung Custom Field này.

Thêm trường dữ liệu (custom field) cho bài viết

Nếu không thấy thì các bạn nhìn tít lên trên, bấm vào chữ Screen Options và tick dấu vào Custom Field.

Thêm trường dữ liệu (custom field) cho bài viếtBây giờ các bạn thử thêm Meta Key (tên địa diện của field) với Value (giá trị của field) như sau:

Thêm trường dữ liệu (custom field) cho bài viết

Thêm custom field và giá trị của nó vào bài

Thêm xong nhớ ấn nút Add Custom Field.

Trong đó,

  • tp_country : Là tên đại diện của field của bạn.
  • Sweden : Giá trị của field.

Ok, vậy là chúng ta đã hoàn tất việc khai báo xong các meta key và giá trị của nó.

Dữ liệu custom field lưu vào đâu?

Các dữ liệu từ custom field sẽ được lưu lại thành các Post Metadata và nằm trong bảng wp_postmeta trong database (xem ở các trang cuối).

Thêm trường dữ liệu (custom field) cho bài viếtTrong đó, bạn sẽ thấy tên key (meta_key), ID của bài viết chưa key (post_id) và giá trị của nó (meta_value). Và khi bạn dùng field này cho nhiều bài viết khác nhau thì nó cũng sẽ có thêm nhiều hàng dữ liệu có meta_key giống nhau nhưng sẽ có post_id khác nhau.

Các hàm hiển thị giá trị custom field

Nếu bạn muốn lấy giá trị của field nào đó trong bài viết ra hiển thị bên ngoài (như template single.php chẳng hạn) thì bạn có thể sử dụng nhiều hàm khác nhau.

get_post_meta()

Hàm này thích hợp sử dụng nếu bạn cần lấy giá trị của một field nào đó dựa vào Post ID đang chứa field.

Cách sử dụng: get_post_meta( $post, $meta_key, $single )

Trong đó,

  • $post: Là ID của bài viết cần lấy custom field.
  • $meta_key: tên key của field cần lấy trong bài viết. Mặc định sẽ lấy toàn bộ field có trong post.
  • $single: Tuỳ chọn hiển thị một giá trị hay một mảng giá trị. Mặc định là false (hiển thị mảng).

Ví dụ mình muốn hiển thị giá trị của field tp_country trong bài hiện tại thì sẽ đặt đoạn code sau vào single.php (có thể đặt ở các template khác bất kỳ, miễn là lấy được ID của bài viết cần lấy field).

        <?php
            $tp_country = get_post_meta( $post->ID, 'tp_country', true );
            
            if( $tp_country ) { // kiểm tra xem nó có dữ liệu hay không
                echo 'Country: ' . $tp_country . '</br>';
            }
        ?>

the_meta()

Nếu bạn cần đơn giản là in ra toàn bộ meta key và meta value của tất cả các field có trong bài viết và hiển thị dưới dạng danh sách bằng HTML thì sẽ sử dụng hàm này, hàm này không có tham số, sử dụng như là một template tags.

get_post_custom()

Hàm này thích hợp nếu bạn cần lấy ra toàn bộ meta key và meta value của bài viết hiện tại (hoặc bài viết bất kỳ dựa vào ID), kết quả trả về là dạng mảng lồng nhau.

Cách sử dụng: get_post_custom( $post_id )

Nếu $post_id không được khai báo thì nó sẽ lấy ID của bài viết hiện tại.

        <?php
            $tp_field = get_post_custom();
            
            echo '<pre>';
            print_r( $tp_field );
            echo '</pre>';
            
        ?>

Ngoài các hàm trên thì còn có get_post_custom_values() và get_post_custom_keys() nhưng mình thấy nó không thông dụng cho lắm vì chỉ cần 3 hàm ở trên là đã rất linh hoạt rồi.

Các hàm thao tác với custom field

Ngoài việc hiển thị ra, bạn cũng có thể sử dụng một số hàm riêng biệt để hỗ trợ thêm, sửa hoặc xoá custom field trong database mà không cần thao tác thông qua việc sửa bài viết. Thông thường các hàm này sẽ có ích khi bạn dùng nó trong các action hook của WordPress.

update_post_meta()

Đây là hàm nên sử dụng nếu bạn cần cập nhật một giá trị mới vào meta key nào đó, và nếu meta key cần cập nhật chưa tồn tại cho post thì nó sẽ tự tạo thêm.

Cách sử dụng: update_post_meta( $post_id, $meta_key, $meta_value, $prev_value )

Trong đó,

  • $post_id : ID của bài viết cần cập nhật key.
  • $meta_key : Tên key cần cập nhật dữ liệu.
  • $meta_value : Dữ liệu cần cập nhật vào.
  • $prev_value : Dữ liệu cũ cần thay đổi thành dữ liệu mới. Không bắt buộc phải nhập vì mặc định nếu bạn khai báo $meta_value thì nó sẽ đổi tất cả các giá trị cũ thành mới. Sẽ có ích nếu một meta key có nhiều giá trị khác nhau.

Ví dụ:

// Đổi giá trị 'tp_country' của post_id là 15 sang giá trị 'Viet Nam'
update_post_meta( 15, 'tp_country', 'Viet Nam' );

Ở hàm này, bạn có thể xem ví dụ ứng dụng làm tính năng lượt xem bài viết rất hay.

delete_post_meta()

Hàm này sẽ xoá toàn bộ dữ liệu trong một meta key nào đó hoặc xoá giá trị meta key. Cách sử dụng tương tự như update_post_meta().

Cách dùng: delete_post_meta( $post_id, $meta_key, $meta_value )

Trong đó,

  • $post_id : ID của bài viết cần xoá field.
  • $meta_key: Tên meta key cần xoá.
  • $meta_value: Tên giá trị cần xoá. Không bắt buộc, vì mặc định nó sẽ xoá toàn bộ giá trị. Nhưng nếu bạn có nhiều giá trị trong một field thì dùng cái này nếu cần giữ lại giá trị theo ý muốn.

Ví dụ sử dụng:

// Xoá toàn bộ giá trị trong key 'tp_country' của post_id là 15
delete_post_meta( 15, 'tp_country', 'Viet Nam' );

Lời kết

Như vậy là trong bài viết này bạn đã làm quen được với tính năng Custom Field trong WordPress, và đây là một tính năng vô cùng thú vị.

Trên thực tế khi làm việc với custom field, ít ai làm thủ công như thế này mà họ sẽ kết hợp với meta box để tạo thêm 1 số khung nhập liệu đẹp mắt dưới khung viết bài. Nếu bạn muốn tạo, có thể xem qua hướng dẫn ACF để làm nhé.

Xem tiếp bài trong serie

Phần trước: Cách dùng Filter Hook trong WordPressPhần kế tiếp: Cách tự tạo một Meta Box đơn giản toàn tập

RELATED POSTS

Cook’d Pro Review 2019

Hướng dẫn cài lại WordPress khi bị dính mã độc

Làm trang shop đơn giản với WordPress – 02

Thêm trường dữ liệu (custom field) cho bài viết was last modified: Tháng Tám 8th, 2015 by Thạch Phạm
custom fieldvideo hướng dẫnwordpress apiwordpress nâng cao
ShareTweetPin
hoanglaota

hoanglaota

Related Posts

Cook'd Pro Review 2019
Kiến thức WordPress

Cook’d Pro Review 2019

17 Tháng Tư, 2019
Hướng dẫn cài lại WordPress khi bị dính mã độc
Kiến thức WordPress

Hướng dẫn cài lại WordPress khi bị dính mã độc

7 Tháng Tám, 2018
Làm trang shop đơn giản với WordPress – 02
Kiến thức WordPress

Làm trang shop đơn giản với WordPress – 02

7 Tháng Tám, 2018
Làm sao để kiểm tra tốc độ website chính xác?
Kiến thức WordPress

Làm sao để kiểm tra tốc độ website chính xác?

7 Tháng Tám, 2018
Cách tạo shortcode và widget chuyên nghiệp với MyShortcodes
Kiến thức WordPress

Cách tạo shortcode và widget chuyên nghiệp với MyShortcodes

7 Tháng Tám, 2018
Tự thêm bài liên quan trong giữa bài viết
Kiến thức WordPress

Tự thêm bài liên quan trong giữa bài viết

7 Tháng Tám, 2018

Recommended Stories

Người đồng sáng lập Reddit dự đoán Bitcoin sẽ có giá 20.000 USD và Ethereum có giá 1.500 USD vào cuối năm nay.

Người đồng sáng lập Reddit dự đoán Bitcoin sẽ có giá 20.000 USD và Ethereum có giá 1.500 USD vào cuối năm nay.

7 Tháng Tám, 2018
Giá Bitcoin tăng mạnh có thể là do Coinbase chính thức ra mắt một dịch vụ lưu ký mới với các nhà đầu tư tổ chức.

Giá Bitcoin tăng mạnh có thể là do Coinbase chính thức ra mắt một dịch vụ lưu ký mới với các nhà đầu tư tổ chức.

6 Tháng Tám, 2018
Giá bitcoin hôm nay (6/6): Bitcoin đảo chiều vào những ngày mùng 6?

Giá bitcoin hôm nay (6/6): Bitcoin đảo chiều vào những ngày mùng 6?

7 Tháng Tám, 2018

Popular Stories

  • Tổng quan nhanh (8/7): Bitcoin công phá 6.800 USD, Ethereum chạm gần 500 USD, Ripple tiến gần 0.5 USD

    Tổng quan nhanh (8/7): Bitcoin công phá 6.800 USD, Ethereum chạm gần 500 USD, Ripple tiến gần 0.5 USD

    0 shares
    Share 0 Tweet 0
  • Gửi email thông báo khi có comment mới trong WordPress tự động với plugin ReplyMe

    0 shares
    Share 0 Tweet 0
  • Kiếm tiền với Clickbank có thật không ?

    0 shares
    Share 0 Tweet 0
  • Cách đăng kí và tăng tỷ lệ ăn chia với Freedom

    0 shares
    Share 0 Tweet 0
  • Xây dựng Fanpage, website kiếm tiền với áo thun và Google Adsense

    0 shares
    Share 0 Tweet 0
Tôi Thích Kiếm Tiền Online

We bring you the best Premium WordPress Themes that perfect for news, magazine, personal blog, etc. Visit our landing page to see all features & demos.

LEARN MORE »

Bài viết mới

  • Cook’d Pro Review 2019
  • Tuần giao dịch cuối tháng 4: Chờ đợi tín hiệu tích cực từ thanh khoản và sự trở lại của khối ngoại
  • CẬP NHẬT TIN TỨC NGÀY 22.3.2018

Chuyên mục

  • Affiliate Marketing
  • Bitcoin
  • Blogger
  • Blogging
  • Chỉ số và phân tích
  • Chiến lược quyền chọn
  • Companies
  • Content Marketing
  • Ethereum
  • Google Adsense
  • Kiếm tiền Online
  • Kiến thức cơ bản
  • Kiến thức tên miền
  • Kiến thức WordPress
  • Kỹ năng kiếm tiền
  • Litecoin
  • Mining
  • Products Launch
  • Ripple
  • SEO – MMO
  • Stellar
  • Tiền Ảo
  • Veritaseum
  • Youtube

© 2021 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Subscription
  • Category
    • Business
    • Culture
    • Economy
    • Lifestyle
    • Health
    • Travel
    • Opinion
    • Politics
    • Tech
    • World
  • Landing Page
  • Buy JNews
  • Support Forum
  • Pre-sale Question
  • Contact Us

© 2021 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Create New Account!

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?