Trong bài viết này, chúng ta sẽ xây dựng một chức năng cho phép người dùng tải về một file hoặc tài liệu sau khi nhấn vào nút “Tải về”. Link tải sẽ được gửi trực tiếp đến email của người dùng, giúp bảo vệ tài nguyên và tăng tương tác với người dùng.

1. Tại Sao Nên Dùng Chức Năng Gửi Link Qua Email?
- Bảo vệ tài nguyên: Hạn chế người dùng không mong muốn tải file mà không để lại thông tin.
- Tăng tương tác: Khuyến khích người dùng đăng ký hoặc đăng nhập để nhận tài nguyên.
- Quản lý lượt tải: Giúp bạn theo dõi ai đã tải file và có thể gửi thông tin cập nhật sau này.
2. Cách Thêm Chức Năng Vào WordPress
2.1. Tạo Meta Box Cho Link Tải Xuống
Trước tiên, chúng ta cần tạo một meta box để nhập link tải xuống trong phần quản trị bài viết.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function add_download_link_meta_box() { add_meta_box( 'download_link', 'Link Tải Về', 'render_download_link_meta_box', 'post', 'normal', 'high' ); } add_action('add_meta_boxes', 'add_download_link_meta_box'); function render_download_link_meta_box($post) { wp_nonce_field('save_download_link_meta_box', 'download_link_nonce'); $download_link = get_post_meta($post->ID, '_download_link', true); echo '<input type="url" name="download_link" value="' . esc_attr($download_link) . '" style="width:100%;" />'; } |
2.2. Lưu Link Tải Xuống Khi Lưu Bài Viết
1 2 3 4 5 6 7 8 9 10 11 12 | function save_download_link_meta_box($post_id) { if (!isset($_POST['download_link_nonce']) || !wp_verify_nonce($_POST['download_link_nonce'], 'save_download_link_meta_box')) { return; } if (!current_user_can('edit_post', $post_id)) { return; } if (isset($_POST['download_link'])) { update_post_meta($post_id, '_download_link', esc_url_raw($_POST['download_link'])); } } add_action('save_post', 'save_download_link_meta_box'); |
2.3. Hiển Thị Nút Tải Về Trong Bài Viết
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function add_download_button($content) { if (is_single() && is_main_query()) { $download_link = get_post_meta(get_the_ID(), '_download_link', true); if ($download_link) { ob_start(); ?> <button id="download-button" class="nut-tai-ve" style="background-color: #0073aa; color: white; padding: 10px;"> Tải về </button> <script> document.getElementById('download-button').addEventListener('click', function () { fetch('<?php echo admin_url('admin-ajax.php'); ?>?action=send_download_link&post_id=<?php echo get_the_ID(); ?>') .then(response => response.json()) .then(data => alert(data.message)); }); </script> <?php $content .= ob_get_clean(); } } return $content; } add_filter('the_content', 'add_download_button'); |
3. Kết luận
Bằng cách áp dụng các đoạn mã trên, bạn có thể dễ dàng tạo một hệ thống gửi link tải về qua email trong WordPress. Điều này không chỉ giúp bảo vệ nội dung mà còn mang lại trải nghiệm chuyên nghiệp hơn cho người dùng.
Bạn có thể tùy chỉnh thêm để phù hợp với nhu cầu của mình! Hãy tải file code hoàn chỉnh bằng cách nhấp vào nút tải về ở phía dưới nhé. MUATHEMEWPGIARE cảm ơn các bạn đã đọc bài, có vấn đề gì hãy để lại bình luận để bên mình hỗ trợ nhé.