【发布时间】:2021-05-06 11:54:42
【问题描述】:
我有一个 woocommerce 网站,我目前正在向该网站添加功能,我的产品有到期日期,并希望在特定页面上显示所有到期日期为今天的产品。除此之外,我还希望将所有到期日期为明天的产品显示在另一个页面上。
我在网上找到了以下文档:Adding Custom Parameter Support
我已通过 sn-ps 插件将其添加到我的网站,并针对我的到期日期属性对其进行了修改
/** * Handle a custom 'expirydate' query var to get products with the 'expirydate' meta.
* @param array $query - Args for WP_Query.
* @param array $query_vars - Query vars from WC_Product_Query.
* @return array modified $query
*/
function handle_custom_query_var( $query, $query_vars ) {
if ( ! empty( $query_vars['expirydate'] ) ) {
$query['meta_query'][] = array(
'key' => 'expirydate',
'value' => esc_attr( $query_vars['expirydate'] ),
);
}
return $query;
}
add_filter( 'woocommerce_product_data_store_cpt_get_products_query', 'handle_custom_query_var', 10, 2 );
然后我添加了另一个 sn-p,它是创建调用具有今天到期日期的产品的函数,为此我添加了一个短代码,以便在我的网站上我想要的页面上轻松调用它显示出来。
// Display products with expiry date today
function expiry_Date_Today()
{
$todaysdate = date(d/m/Y);
$products = wc_get_products( array( 'expirydate' => 'todaysdate' ) );
}
add_shortcode( 'expirydatetoday', 'expiry_Date_Today');
现在我的问题是,当我在页面上使用简码时,我什么也得不到。只是一片空白的空间。我认为这是因为我需要以显示产品的格式请求输出。我希望它显示为图像、标题和添加到购物车按钮,类似于您在查看类别页面内容时通常会看到的内容。
我在网上搜索过,但找不到此信息,所以有人可以在这里为我指出正确的方向,或者如果我的代码似乎有明显问题,您能否提供帮助?
非常感谢, 经颅磁刺激。
【问题讨论】:
标签: php wordpress woocommerce product custom-fields