Tạo shortcode hiển thị số bài viết trong một danh mục “Khuyến Mãi” wordpress, trong mỗi bài viết sẽ có một trường nhập thời gian hết hạn của khuyến mãi.
Quy trình của cách làm này là tạo một trường nhập dữ liệu thời gian hết khuyến mãi cho từng khuyến mãi khi tạo, sau đó dùng shortcode để tính toán và hiển thị lại các thông tin đấy. Thông thường mình có thể sử dụng ACF để tạo form này nhưng trong bài viết này thì đoạn mã dưới đây sẽ tạo luôn mà không cần phải dùng plugin ACF.
Bước 1: Tạo danh mục bài viết Khuyến mãi
Bước 2: Thêm tất cả mã này vào functions.php của theme để tạo shortcode hiển thị bài viết và thời gian hết khuyến mãi
function khuyen_mai_shortcode() { $args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => 'khuyen-mai' ) ), 'meta_key' => 'promotion_expiration', 'orderby' => 'meta_value', 'order' => 'ASC' ); $query = new WP_Query($args); $output = ''; if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $expiration = get_post_meta(get_the_ID(), 'promotion_expiration', true); $output .= '<p>' . get_the_title() . ' - Hết hạn: ' . $expiration . '</p>'; } } else { $output .= '<p>Không có bài viết nào trong danh mục "Khuyến Mãi".</p>'; } wp_reset_postdata(); return $output; } add_shortcode('khuyen_mai', 'khuyen_mai_shortcode');
function add_promotion_expiration_meta_box() { add_meta_box( 'promotion_expiration_meta_box', 'Thời gian hết hạn khuyến mãi', 'promotion_expiration_meta_box_callback', 'post' ); } add_action('add_meta_boxes', 'add_promotion_expiration_meta_box'); function promotion_expiration_meta_box_callback($post) { wp_nonce_field(basename(__FILE__), 'promotion_expiration_nonce'); $promotion_expiration = get_post_meta($post->ID, 'promotion_expiration', true); echo '<label for="promotion_expiration">Hết hạn:</label>'; echo '<input type="text" id="promotion_expiration" name="promotion_expiration" value="' . esc_attr($promotion_expiration) . '" size="25">'; } function save_promotion_expiration_meta_box($post_id) { $is_autosave = wp_is_post_autosave($post_id); $is_revision = wp_is_post_revision($post_id); $is_valid_nonce = (isset($_POST['promotion_expiration_nonce']) && wp_verify_nonce($_POST['promotion_expiration_nonce'], basename(__FILE__))) ? 'true' : 'false'; if ($is_autosave || $is_revision || !$is_valid_nonce) { return; } if (isset($_POST['promotion_expiration'])) { update_post_meta($post_id, 'promotion_expiration', sanitize_text_field($_POST['promotion_expiration'])); } } add_action('save_post', 'save_promotion_expiration_meta_box');
Cuối cùng ta được shortcode:
[khuyen_mai]
để sử dụng theo mong muốn của bạn.
Bước 3: Tạo một file JavaScript tên promotion-countdown.js trong thư mục theme của bạn với mã sau:
document.addEventListener('DOMContentLoaded', function() { var countdowns = document.querySelectorAll('.promotion-countdown'); countdowns.forEach(function(countdown) { var expirationDate = new Date(countdown.dataset.expiration); var now = new Date(); var timeDiff = expirationDate - now; if (timeDiff > 0) { var seconds = Math.floor(timeDiff / 1000); var minutes = Math.floor(seconds / 60); var hours = Math.floor(minutes / 60); var days = Math.floor(hours / 24); hours %= 24; minutes %= 60; seconds %= 60; countdown.innerHTML = days + ' ngày ' + hours + ' giờ ' + minutes + ' phút ' + seconds + ' giây'; setInterval(function() { timeDiff -= 1000; if (timeDiff > 0) { seconds = Math.floor(timeDiff / 1000); minutes = Math.floor(seconds / 60); hours = Math.floor(minutes / 60); days = Math.floor(hours / 24); hours %= 24; minutes %= 60; seconds %= 60; countdown.innerHTML = days + ' ngày ' + hours + ' giờ ' + minutes + ' phút ' + seconds + ' giây'; } else { countdown.innerHTML = 'Hết hạn'; } }, 1000); } else { countdown.innerHTML = 'Hết hạn'; } }); });
Bước 4: Chèn code này để khai bào js vào theme:
function enqueue_promotion_countdown_script() { wp_enqueue_script( 'promotion-countdown', get_template_directory_uri() . '/promotion-countdown.js', array(), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'enqueue_promotion_countdown_script' );
Bước 5: Lấy HTML này để hiển ở vị trí bạn muốn:
<div class="promotion-countdown" data-expiration="<?php echo esc_attr(get_post_meta(get_the_ID(), 'promotion_expiration', true)); ?>"></div>
Bài liên quan:
Tạo sao cần một trang web xem kết quả bóng đá chuyên nghiệp
10/17/20241. Cung cấp thông tin chính xác và kịp thời Người hâm mộ thể thao, đặc biệt là bóng đá, luôn muốn cập nhật nhanh chóng kết quả trận đấu, diễn biến trực tiếp, và các sự kiện quan trọng như bàn thắng, thẻ phạt, hay chấn thương. Một trang web chuyên nghiệp sẽ đảm…
Tại sao cần một trang Web Casino chuyên nghiệp ?
11/20/2023Việc có một trang web casino chuyên nghiệp không chỉ là yếu tố quan trọng trong việc thu hút khách hàng mà còn là chìa khóa để tạo ra trải nghiệm tốt nhất cho người chơi. Trong bối cảnh này, dịch vụ thiết kế website casino uy tín và giá rẻ đóng vai trò quan…
Bảo trì Website là gì ? Tại sao nên bảo trì Website
08/29/2023Bạn có bao giờ tự hỏi về bảo trì website và tại sao lại quan trọng đối với doanh nghiệp của bạn? Trang web của bạn là một cầu nối quan trọng giữa khách hàng và doanh nghiệp của bạn, và việc bảo trì nó đảm bảo rằng trải nghiệm của khách hàng luôn…
Hướng dẫn đăng ký tài khoản ChatGPT tại OpenAI miễn phí
01/07/2023ChatGPT là gì ? ChatGPT là một mô hình ngôn ngữ mạnh mẽ được huấn luyện bởi OpenAI. Nó được xây dựng dựa trên GPT (Generative Pre-training Transformer), một trong những mô hình ngôn ngữ tiên tiến nhất hiện nay. ChatGPT có khả năng tương tác với người dùng thông qua cuộc trò chuyện và…
SMTP miễn phí tương tự Google SMTP
01/07/2023SMTP Server là một phần không thể thiếu trong hệ thống gửi và nhận email trên Internet. Nó có nhiều tác dụng quan trọng khi làm việc với web, bao gồm: Gửi email từ trang web: SMTP Server cung cấp một cách để gửi email từ trang web, ví dụ như gửi email xác nhận…
API xổ số 3 miền, API Vietlot Live, API Live Xổ số
12/31/2022Nếu bạn đang tìm một API xổ số cập nhật dữ liệu nhanh và an toàn nhất thì VietAPI.vn là một lựa chọn hàng đầu. Nằm bắt được nhu cầu của khách hàng, chúng tôi tạo nên dịch vụ API sổ xố miễn phí cập nhật dữ liệu 27/7 và ổn định nhất. Giới thiệu…
9 sai lầm cơ bản khi bạn bắt đầu làm SEO
12/30/2022SEO là từ viết tắt của cụm từ “Search Engine Optimization” hoặc “Tối ưu hóa công cụ tìm kiếm” trong tiếng Anh. Đây là một kỹ thuật được sử dụng để cải thiện khả năng của trang web để xuất hiện trên các công cụ tìm kiếm như Google, Bing, Yahoo và các công cụ…
SEO là gì, tại sao nên SEO cho website
12/30/2022Mục đích của SEO là để giúp trang web của bạn xuất hiện trên trang kết quả tìm kiếm của các công cụ tìm kiếm như Google hay Bing, Coccoc, Yahoo…, với những từ khóa liên quan đến nội dung của trang web. Nếu trang web của bạn xuất hiện trên trang kết quả tìm…
Làm web giá rẻ và web chuyên nghiệp khác nhau những gì ?
12/26/2022Web giá rẻ và web chuyên nghiệp là như thế nào, trước hết chúng ta hãy hiểu sơ về khái niệm của nó. Khái niệm Web giá rẻ và web chuyên nghiệp Web giá rẻ Web giá rẻ là một loại trang web mà người dùng có thể mua hoặc thuê với mức giá thấp…
Thiết kế web WordPress hay PHP thuần tốt hơn ?
12/21/2022Thế nào là web WordPress, thế nào là web PHP Thế nào là web WordPress WordPress là một nền tảng quản lý nội dung (CMS) được viết bằng ngôn ngữ lập trình PHP. Nó cho phép người dùng tạo ra các trang web hoặc blog một cách dễ dàng và nhanh chóng bằng cách sử…
Thiết kế website tin tức chuyên nghiệp chuẩn SEO
12/19/2022Thế nào lá website tin tức chuyên nghiệp ? Trong quá trình thiết kế một trang web tin tức, có một số yếu tố quan trọng mà bạn cần phải xem xét, bao gồm: Giao diện người dùng: Giao diện người dùng của trang web tin tức phải dễ sử dụng và dễ nhìn, với…
Tìm hiểu về quy trình thiết kế website chuyên nghiệp
12/19/2022Thiết kế web chuyên nghiệp là gì ? Thiết kế web chuyên nghiệp là quá trình tạo ra một trang web đạt chuẩn và có chất lượng cao bằng cách sử dụng các kỹ thuật và công nghệ hiện đại. Nó bao gồm các bước từ việc xây dựng một kế hoạch chi tiết cho…
Top 7 nhà cung cấp hosting/vps tốt nhất tại Việt Nam
11/29/2022Bạn đang tìm một dịch vụ Hosting tốt nhất Việt Nam để sử dụng cho website dự án của bạn ? Các gợi ý để giúp bạn chọn được một dịch vụ hosting tốt nhất cho website của bạn với các tiêu chí khách quan: Chất lượng (Nhanh, xử lý tốt) , An toàn dữ…
SEM là gì ?
11/25/2022SEM là tập hợp những phương pháp SEO + SEA + SMO + SMM + SMA giúp website của bạn phát triển tốt hơn, có nhiều người xem hơn. SEM là một phần không thể thiếu của các chiến dịch marketing trực tuyến, và được sử dụng bởi các công ty lớn và nhỏ để…
Bí kíp giúp bạn làm content hiệu quả hơn
10/22/2022Để có một content hay và cuốn hút người xem nhưng vẫn đạt hiệu quả chuyển đổi chúng ta cần đầu tư rất nhiều chất xám cũng như thời gian. Trong quá trình tạo content thì cần nhiều quỷ thời gian cho việc thiết kế hình ảnh và chỉnh sửa về câu từ chữ viết….
Cách tạo nút gọi, zalo, bản đồ, facebook cho website nhanh chóng dễ dàng
08/16/2022Một cách dễ dàng để tạo thanh liên hệ có đầy đủ các nút bấm như gọi điện, nhắn Zalo, nhắn tin Facebook, Live Chat… chuyên nghiệp với nhiều hiệu ứng đẹp cho website của bạn. Trong bài viết này mình sẽ giới thiệu đến bạn hai dịch vụ có thể giúp bạn làm điều…
Bảng giá thiết kế website chuyên nghiệp tại SaoBay
08/10/2022Để thuận tiện cho khách hàng trong việc tra cứu cũng như tham khảo giá thiết kế website tại SaoBay, chúng tôi xin tổng hợp một số hạng mục có giá cố định. Khách hàng lưu ý, bảng giá thiết kế website này chỉ mang tính chất tham khảo, để biết giá chính xác nhất…
Mã nguồn web kết quả bóng đá tự động 2022 Chuẩn SEO
08/08/2022Mã nguồn website kết quả bóng đá tự động phiên bản năm 2022 được SaoBay phát triển. Với mã nguồn này bạn có thể tạo được các trang tin tức bóng đá bao gồm các tính năng xem kết quả bóng đá trực tuyến, xem tỷ lệ kèo bóng, xem chi tiết kết quả trận,…
Cách sửa lỗi phạm vi lập chỉ mục Google Search Console
07/26/2022Khi khai báo website với Google Search Console, rất nhiều chúng ta hay gặp các lỗi phạm vi lập chỉ mục trong đó Url bị loại trừ là lỗi hay gặp nhất. Lỗi Url bị loại trừ làm cho website không được index đủ link bài, thậm chí là không được index và dần mất…
Các ứng dụng chat tốt nhất tương tự Zalo được đánh giá cao nhất hiện nay
06/30/2022Ứng dụng chat là một ứng dụng khá quen thuộc với hầu hết người dùng Việt Nam, cũng như trên toàn Thế Giới. Những ứng dụng chat này giúp chúng ta có thể nhắn tin miễn phí và có nhiều tiện ích miễn phí đi kèm khác. Trên toàn cầu thì có thể kể đến…
Tạo trang khuyến mãi cho WordPress hiển thị ngày kết thúc
01/30/2023Tạo shortcode hiển thị số bài viết trong một danh mục “Khuyến Mãi” wordpress, trong mỗi bài viết sẽ có một trường nhập thời gian hết hạn của khuyến mãi. Quy trình của cách làm này là tạo một trường nhập dữ liệu thời gian hết khuyến mãi cho từng khuyến mãi khi tạo, sau…