Lọc bài đăng theo phạm vi ngày, lọc sản phẩm theo phạm vi ngày trong trang web của bạn - Bạn có phải là quản trị viên của trang web blog của bạn?
- Bạn có phải là Quản trị viên của trang web thương mại điện tử của mình không? . Sau đó, xin chào Quản trị viên, mong muốn của bạn được plugin tiện ích này phục vụ rất thông minh. Chỉ cần kích hoạt và đặt tiện ích này vào khu vực trang web mong muốn của bạn và để người xem trang web tìm kiếm bằng cách nhập phạm vi ngày từ và đến. Của bạn đây… Vui vẻ lọc 🙂
URL Video Trình diễn. https. //www. youtube. com/watch?v=Zyjx-aeFSL4 Bạn có thể sử dụng date_query function get_custom_booking( $query ) {
if ( $query->is_main_query() && is_post_type_archive( 'booking' ) ) {
$query->set('date_query', array(
array(
'after' => 'December 1st, 2021',
'before' => 'January 31st, 2022',
'inclusive' => true
),
));
}
}
add_action('pre_get_posts', 'get_custom_booking');
Bạn cũng có thể sử dụng wp_query để nhận các bài đăng trong phạm vi ngày $args = array(
'date_query' => array(
array(
'after' => 'December 1st, 2021',
'before' => 'January 31st, 2022',
'inclusive' => true,
),
),
);
$query = new WP_Query( $args );
Cảm ơn vì đã tạo ra một plugin tuyệt vời. Cho đến nay, điều này đang hoạt động tốt với chúng tôi, tôi có một câu hỏi về việc lọc nội dung Tôi muốn biết liệu có thể chỉ hiển thị kết quả trong 3-4 năm qua hay không. Trong trường hợp của chúng tôi, chúng tôi có nội dung từ năm 2011 nhưng lý tưởng nhất là chỉ muốn hiển thị các bài đăng từ năm 2015 trở đi. Tôi thấy có một tùy chọn để thay đổi thứ tự, nhưng có cách nào để hạn chế hơn nữa các bài đăng cũ hơn không được đưa vào truy vấn hoàn toàn không? lý do đầu tiên là. mỗi plugin có khả năng làm chậm trang web của bạn. Nó có thể xảy ra do chức năng không cần thiết hoặc có thể do chức năng rất chậm Lý do thứ hai. mỗi plugin có khả năng có thể có một lỗ hổng. Rất dễ tập trung vào bảo mật khi bạn tạo một đoạn mã nhỏ nhưng sẽ khó hơn nhiều khi bạn viết một plugin có chức năng lớn Ok, nói ít hơn, hành động nhiều hơn, đó là kết quả Tôi đã quyết định sử dụng công cụ hẹn giờ giao diện người dùng jQuery vì 1) WooCoomerce sử dụng nó 2) Giao diện người dùng jQuery đã được bao gồm trong quản trị viên WordPressVà đây là mã cho tệp functions.php của bạn class mishaDateRange{
function __construct(){
// if you do not want to remove default "by month filter", remove/comment this line
add_filter( 'months_dropdown_results', '__return_empty_array' );
// include CSS/JS, in our case jQuery UI datepicker
add_action( 'admin_enqueue_scripts', array( $this, 'jqueryui' ) );
// HTML of the filter
add_action( 'restrict_manage_posts', array( $this, 'form' ) );
// the function that filters posts
add_action( 'pre_get_posts', array( $this, 'filterquery' ) );
}
/*
* Add jQuery UI CSS and the datepicker script
* Everything else should be already included in /wp-admin/ like jquery, jquery-ui-core etc
* If you use WooCommerce, you can skip this function completely
*/
function jqueryui(){
wp_enqueue_style( 'jquery-ui', '//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css' );
wp_enqueue_script( 'jquery-ui-datepicker' );
}
/*
* Two input fields with CSS/JS
* If you would like to move CSS and JavaScript to the external file - welcome.
*/
function form(){
$from = ( isset( $_GET['mishaDateFrom'] ) && $_GET['mishaDateFrom'] ) ? $_GET['mishaDateFrom'] : '';
$to = ( isset( $_GET['mishaDateTo'] ) && $_GET['mishaDateTo'] ) ? $_GET['mishaDateTo'] : '';
echo '<style>
input[name="mishaDateFrom"], input[name="mishaDateTo"]{
line-height: 28px;
height: 28px;
margin: 0;
width:125px;
}
</style>
<input type="text" name="mishaDateFrom" placeholder="Date From" value="' . esc_attr( $from ) . '" />
<input type="text" name="mishaDateTo" placeholder="Date To" value="' . esc_attr( $to ) . '" />
<script>
jQuery( function($) {
var from = $(\'input[name="mishaDateFrom"]\'),
to = $(\'input[name="mishaDateTo"]\');
$( \'input[name="mishaDateFrom"], input[name="mishaDateTo"]\' ).datepicker( {dateFormat : "yy-mm-dd"} );
// by default, the dates look like this "April 3, 2017"
// I decided to make it 2017-04-03 with this parameter datepicker({dateFormat : "yy-mm-dd"});
// the rest part of the script prevents from choosing incorrect date interval
from.on( \'change\', function() {
to.datepicker( \'option\', \'minDate\', from.val() );
});
to.on( \'change\', function() {
from.datepicker( \'option\', \'maxDate\', to.val() );
});
});
</script>';
}
/*
* The main function that actually filters the posts
*/
function filterquery( $admin_query ){
global $pagenow;
if (
is_admin()
&& $admin_query->is_main_query()
// by default filter will be added to all post types, you can operate with $_GET['post_type'] to restrict it for some types
&& in_array( $pagenow, array( 'edit.php', 'upload.php' ) )
&& ( ! empty( $_GET['mishaDateFrom'] ) || ! empty( $_GET['mishaDateTo'] ) )
) {
$admin_query->set(
'date_query', // I love date_query appeared in WordPress 3.7!
array(
'after' => sanitize_text_field( $_GET['mishaDateFrom'] ), // any strtotime()-acceptable format!
'before' => sanitize_text_field( $_GET['mishaDateTo'] ),
'inclusive' => true, // include the selected days as well
'column' => 'post_date' // 'post_modified', 'post_date_gmt', 'post_modified_gmt'
)
);
}
return $admin_query;
}
}
new mishaDateRange();
Thêm một ảnh chụp màn hình từ trang Thư viện phương tiện Trên dòng 84 của mã, bạn có thể thấy rằng bộ lọc phạm vi cũng được phép tải lên (chỉ dành cho chế độ xem Danh sách)Có một câu hỏi? # WordPress, wp-admin Misha RudrastyhChào các bạn và chào mừng đến với trang web của tôi. Trong hơn 10 năm, tôi đã cố gắng hết sức để chia sẻ miễn phí với bạn một số hướng dẫn và mẹo tuyệt vời về WordPress |