Có một bạn đọc tên là LE TUAN VU có hỏi mình về cách thêm nút download và demo cho trang của bạn ý, nhân tiện đang không có việc gì làm mình xin chia sẻ luôn cho các bạn dễ theo dõi và biết đâu lại hữu ích cho các bạn thì sao 😀
Trước hết, ta phân tích rằng: do nút download và Demo là hai đường link phụ thuộc vào Post ID, mà trong core của WordPress mặc định có Post Meta ( trường tùy biến ) là đáp ứng được điều này, ta sẽ thêm dữ liệu vào Post meta cho mỗi bài đăng, cụ thể là hai trường Download và Demo.
Tiếp theo, ta hãy mở file functions.php và thêm đoạn code sau vào:
function jamviet_auto_add_downloadbutton( $post_id ) {
if ( get_post_meta($post_id, 'download', true) == '' ) {
add_post_meta($post_id, 'download', 'http://', true);
add_post_meta($post_id, 'demo', 'http://', true);
}
}
add_action('save_post', 'jamviet_auto_add_downloadbutton');
Đoạn code trên giúp chúng ta có thêm hai trường download và demo trong khi đăng bài viết, chúng sẽ tự sinh ra khi bạn bấm nút “viết bài mới” một cách tự động, như sau:

Thêm hai trường tùy biến vào trong WordPress
Giờ thì ta chỉ cần thêm giá trị cho hai trường tùy biến này thôi !
Bước cuối cùng, hiển thị
Để lấy được hai trường này ra và hiển thị theo ID của bài đăng, ta thêm code sau vào file single.php để hiển thị, ta thêm code sau:
echo '<a href="'. get_post_meta(get_the_ID(), 'demo', true) . '" class="demobutton">DEMO</a>'; echo '<a href="'. get_post_meta(get_the_ID(), 'download', true) . '" class="downloadbutton">DOWNLOAD</a>';
Code này bạn có thể đặt ở chỗ nào bạn muốn, ngoài ra nếu bạn cần trang trí thì thêm CSS vào là xong, điều này tùy thuộc vào năng khiếu của các bạn 😀
Chúc các bạn thành công, nếu vướng mắc cứ để lại comment nhé !
Chuẩn rồi ạ. đúng ý em rồi đấy, Cảm ơn a nhiều ạ 🙂
Anh ơi ở file single.php thì chèn vào chỗ nào ạ 🙁 e chèn ko đc
Chèn vào trong vòng lặp while, ngay dưới tựa đề hoặc gần nội dung
the_content()chẳng hạn !Em hơi gà code cơ mà đoạn vào functions copy y trên vào cũng k đc ạ 🙁 thiếu if ko anh?
Kiểu như này a ạ http://ehipthemes.com/aggregate-v3-0-responsive-wordpress-theme-from-elegant-themes.aspx#.VBHp78J_uQA
Hàm trên bạn thêm vào file functions.php chủ yếu để nó tự động thêm các trường tùy biến vào trong lúc đăng bài một cách tự động, bạn không cần phải thêm bằng tay, tiếp theo phần hiển thị bạn thêm vào single.php và ở trong vòng lặp, nếu file single của bạn đặt vòng lặp trong file content.php thì bạn cần phải thêm vào trong file đó, bạn có thể email mình cái file single.php để mình giúp !
Em chèn vào rồi. nó chỉ hiện vẻn vẹn có 2 cái link đó a ạ. không có link ẩn ạ
Ố ồ ! mình đã chỉnh lại bài viết cho bạn dễ dàng theo dõi, tất nhiên là nó hiện độc có link không rồi, do bạn chưa cho nó vào thẻ “A” đó !
=)) e làm đc rồi ạ. Cảm ơn a nhiều ạ 🙂
À A Jam ơi. bây giờ em muốn khai báo thêm mấy cái nữa thì code trong fun nó như thế nào ạ?
Còn 1 cái vướng mắc nữa là. làm sao để nó hiện từng chuyên mục hả anh, chứ bài nào nó cũng có a ạ 🙁
Bạn check điều kiện if (get_post_meta(get_the_ID(), ‘demo’, true)) thì hiển thị còn nếu không thì ẩn, như vậy khỏi cần phải theo chuyên mục mà cứ bài viết nào bạn cho giá trị thì hiển thị không thì thôi !
:(( A viết hoàn thiện cho e với. e mới học code
Code đầy đủ sẽ là:
2 dòng hiện thị e thấy thiếu <?php phải ko a?
Ôi ! bạn mới học lập trình, thế này bạn add skype vào rồi nói chuyện với mình nhé, chứ mấy cái nhỏ xíu thế này sẽ nói mãi không thông thôi 😀
Trước kia mình cũng tự học lập trình nhưng chỉ cần tự mày mò là ra, bạn cố lên, và nhớ sáng tạo chút, ví dụ như bạn hỏi:
“mUốn khai báo thêm các trường khác thì làm thế nào ?”
Thực chất bạn chỉ cần clone cái code trên rồi điền trường khác vào là xong, rõ nhu ban ngày rồi :p thế mà cũng hỏi ! 😛
=)) A vừa cmt thì e làm đc rồi. a tận tình giúp em quá. :((
Đọc lại bài này thấy nhớ ngày xưa hồi mới làm web, Ngày đó ngu thật nhưng ko ngu bằng bạn bên trên :v
a jam ơi, e làm đc rồi mà mỗi post e muốn nó tự động thêm 1 post download khác như các trang phim đc k?