Vì tôi thích website hiện cả hai ngày đó là ngày đăng và ngày update, tương tự như bạn đang thấy đây nên đi tìm vài cái snippet để dán vào file function của mình. Tiện thể viết luôn post này để tìm lại khi cần thiết.
Tất cả nội dung được lấy từ bài viết này. Còn tóm tắt lại thì như sau:
Sử dụng Plugin
Dưới đây là 2 cái Plugin mà tác giả recommend, tác giả chưa dùng và tôi cũng vậy, nhưng vẫn để đây cho anh em nào lười. Còn ông tác giả này giống tôi, muốn hạn chế Plugin một cách triệt để nên cái nào paste được vào function thì tốt, đỡ rối trang quản lý plugin.
Bạn test nếu ngon hay không thì cmt phía cuối bài viết nhé!
Sử dụng Code Snippets
Có hai cách sử dụng một là dùng plugin và hai là dùng trực tiếp.
1, Dùng plugin Code Snippets
Tải Plugin Code Snippets về và thêm các đoạn code bên dưới bằng plugin này. Và như đã nói phía trên, tôi cũng không dùng plugin này luôn mà edit trực tiếp trong theme.
2, Edit trực tiếp trong theme
Thông thường đường dẫn mặc định sẽ là public_html/wp-content/themes/generatepress
, nhưng nếu chỉnh sửa trưck tiếp file functions.php
trong đó thì sau khi theme update hay bị mất dữ liệu nên tốt nhất bạn nên thao tác ở childtheme. Generatepress có sẵn cho bạn tải về tại đây.
Lúc này, mở file functions.php
trong public_html/wp-content/themes/generatepress-child
và thêm các đoạn code sau.
add_filter( 'generate_post_date_output', function( $output, $time_string ) { $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">%2$s</time>'; if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) { $time_string = '<time class="entry-date updated-date" datetime="%3$s" itemprop="dateModified">Last Updated on: %4$s</time>'; } $time_string = sprintf( $time_string, esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date() ) ); return sprintf( '<span class="posted-on">%s</span> ', $time_string ); }, 10, 2 );
Đoạn code trên sau khi chạy, bất chấp là bài viết đã được chỉnh sửa chưa hay đã đăng, nó đều chỉ hiển thị một giá trị duy nhất là “Last Updated on:”. Tức là nếu bài viết mới, nó sẽ hiển thị ngày đăng còn nếu bài viết vừa chỉnh sửa nó sẽ hiện ngày vừa sửa.
Đoạn code trên dành cho anh em nào lười hoặc làm SEO, cần đặt ngày Update mới nhất và không muốn show ngày viết ra nên có thể dùng tốt.
Một đoạn code khác dưới đây cũng tương tự, nhưng thay vì chỉ một giá trị duy nhất, đoạn code này có thể so sánh ngày đăng và ngày cập nhật (nếu có).
Nếu bài đã đăng và chưa cập nhật, nó sẽ hiển thị nguyên ngày đăng. Và nếu mới cập nhật, nó sẽ thay thế ngày đăng bằng ngày mới cập nhật.
Cái này cũng hay và tùy ý thích.
add_filter( 'generate_post_date_output', function( $output, $time_string ) { $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">Published on: %2$s</time>'; if ( get_the_date() !== get_the_modified_date() ) { $time_string = '<time class="entry-date updated-date" datetime="%3$s" itemprop="dateModified">Last Updated on: %4$s</time>'; } $time_string = sprintf( $time_string, esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date() ) ); return sprintf( '<span class="posted-on">%s</span> ', $time_string ); }, 10, 2 );
Và cuối cùng là đoạn tôi thích nhất
add_filter( 'generate_post_date_output', function( $output, $time_string ) { $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">Published on: %2$s</time>'; if ( get_the_date() !== get_the_modified_date() ) { $time_string = '<time class="entry-date published" datetime="%1$s" itemprop="datePublished">Published on: %2$s</time> | <time class="entry-date updated-date" datetime="%3$s" itemprop="dateModified">Last Updated on: %4$s</time>'; } $time_string = sprintf( $time_string, esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date() ) ); return sprintf( '<span class="posted-on">%s</span> ', $time_string ); }, 10, 2 );
Đoạn này hiển thị cả ngày đăng và ngày cập nhật. Mỗi khi cập nhật thì tất nhiên ngày đăng vẫn giữ nguyên và chỉ thay đổi ngày cập nhật mỗi lần bấm update.
Việt hóa lại một chút và chúng ta có kết quả là ..
Tada~~
Thế là đủ cho ngày hôm nay rồi!