如何在WooCommerce商店页面显示所有商品的发布日期?
解决WooCommerce商店页面仅首个商品显示发布日期的问题
嘿,这个问题我之前也碰到过!问题出在你用的the_date()函数上——它有个“小坑”:当多个帖子(WooCommerce商品属于自定义帖子类型)的发布日期相同时,它只会在第一个条目上输出日期,后面同日期的就自动跳过了,这就是为什么只有第一个商品显示日期。
要修复这个问题,只需要把the_date()换成get_the_date()就行,后者会为每个商品单独返回对应的发布日期,不会有同日期跳过的限制。修改后的代码如下:
add_action( 'woocommerce_after_shop_loop_item', 'wc_shop_page_product_date', 100 ); function wc_shop_page_product_date() { echo '<span class="date_published">Published on: ' . get_the_date() . '</span>'; }
简单说下改动的原因:
get_the_date()是直接返回日期字符串的函数,每个商品循环到它时都会获取当前商品的发布日期- 原代码里
the_date()的参数用法其实也可以调整,但换成get_the_date()是最直接且不易出错的方式
替换之后,刷新你的商店页面,每个商品就都会正确显示自己的发布日期了~
内容的提问来源于stack exchange,提问作者Dau
相关产品推荐
相关产品推荐

