php - WooCommerce 从产品时间日期捕获时间以进行过滤
问题描述
我正在为一组产品创建一个过滤器。这些产品实际上是具有其start datetime
和end datetime
(自定义字段)的不同类。
我正在尝试创建一个时间范围过滤器(https://codepen.io/caseymhunt/pen/kertA),然后它将显示start datetime
时间在所选范围内的任何产品。
一个例子是,默认情况下,我想显示上午 8 点到晚上 8 点之间的所有产品(无论日期如何,只是时间)。
产品有一个名为 class_startTime 的自定义字段,看起来像2020-08-03 17:00
我很容易让我的代码适用于年龄组的过滤器,我完全不知道该怎么做才能获得 2 次的范围(例如上午 8 点和晚上 8 点)。
<ul class="products">
<?php
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'LIKE',
array(
'key' => 'age_group',
'value' => $agefilter,
),
array(
'key' => 'class_startTime',
'value' => date("Y-m-d").' 17:00',
'compare' => '>=',
'type' => 'DATETIME'
),
),
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
wc_get_template_part( 'content', 'product' );
endwhile;
} else {
echo __( 'No products found' );
}
wp_reset_postdata();
?>
</ul>
我试图只使用时间,但这根本不起作用。
解决方案
推荐阅读
- apigee - RouteRule 名称重要吗?
- flutter - 如何从 Flutter 中的点绘制圆弧
- angularjs - 数据未到达 API 控制器请求失败
- java - 正则表达式 - 大写字母后跟任何 utf-8 小写字符
- vb.net - 使用 DialogResult VB.Net 时启动画面未关闭
- mysql - 如何使用来自两个不同表的列创建 SQL 对象?
- proxysql - ProxySql 连接管理到后端服务器不可用
- c++ - c ++使用可变(编译时)条目数初始化函数指针数组
- python - psutil.net_connections() 应该返回 namedtuple,但它的行为不是一个
- python-3.x - 如何将 Scikit-learn load_digits 转换为 Pandas 数据集?