Php “更换”;缺货时可用;基于产品类别的购物车内/结帐
我编写了一些代码,用于在基于产品类别的产品详细信息页面上显示自定义缺货消息Php “更换”;缺货时可用;基于产品类别的购物车内/结帐,php,wordpress,woocommerce,hook-woocommerce,taxonomy-terms,Php,Wordpress,Woocommerce,Hook Woocommerce,Taxonomy Terms,我编写了一些代码,用于在基于产品类别的产品详细信息页面上显示自定义缺货消息 功能自定义\u缺货\u消息($text,$product){ 如果($product->管理库存()&&&$product->缺货(1)){ 如果(有“新娘系列”、“产品”等术语){ $text=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu; }否则{ $tex
功能自定义\u缺货\u消息($text,$product){
如果($product->管理库存()&&&$product->缺货(1)){
如果(有“新娘系列”、“产品”等术语){
$text=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}否则{
$text=uuuuuu('此产品目前缺货,但一经订购,我们将手工制作您的产品。遗憾的是,由于新冠病毒19,我们无法给您一个时间表,但预计6-8周。','文本域');
}
}
返回$text;
}
添加过滤器('woocommerce\u get\u availability\u text','custom\u backorder\u message',10,2);
现在,在购物车页面上显示“缺货时可用”。如何在那里显示正确的缺货信息
感谢您的帮助 使用:
请注意,第三个参数($product\u id
)由指定,
这是因为使用了默认的当前post(ID)。但是,如果购物车中有多个产品,则会有多个ID
//更改延期订单通知-单一产品页面
功能自定义可用性文本($text,$product){
//返回产品是否为库存管理产品。
如果($product->管理库存()&&&$product->缺货(1)){
//检查当前帖子是否有任何给定的条款。
如果(有“新娘系列”、“产品”等术语){
$text=uu uu('myfirsttext','woocommerce');
}否则{
$text=uu uu('mysecondtext','woocommerce');
}
}
返回$text;
}
添加过滤器('woocommerce\u get\u availability\u text','custom\u availability\u text',10,2);
//更改延期交货通知-车间页面
函数自定义\购物车\商品\延期订单\通知($html,$product\ id){
//检查当前帖子是否有任何给定的条款。
if(有_术语('bridal line','product_cat',$product_id)){
$html=''.esc_html('My first text','woocommerce')。
';
}否则{
$html=''.esc_uhtml('My second text','woocommerce')。
';
}
返回$html;
}
添加过滤器('woocommerce\u cart\u item\u backorder\u notification','custom\u cart\u item\u backorder\u notification',10,2);
我主题的function.php
中的这段代码适合我:
function change_specific_availability_text( $availability ) {
$targeted_text = __( 'Available on backorder', 'woocommerce' );
if ($availability[ 'class' ] == 'available-on-backorder' && $availability[ 'availability' ] == $targeted_text) {
$availability[ 'availability' ] = __( 'In the central warehouse', 'your-theme-textdomain' );
}
return $availability;
}
add_filter( 'woocommerce_get_availability', 'change_specific_availability_text', 20, 1 );
或另一种简化方式:
function change_specific_availability_text( $availability ) {
if ($availability[ 'class' ] == 'available-on-backorder') {
$availability[ 'availability' ] = __( 'In the central warehouse', 'your-theme-textdomain' );
}
return $availability;
}
add_filter( 'woocommerce_get_availability', 'change_specific_availability_text', 20, 1 );
嘿,谢谢你的帮忙。我已将此代码添加到子主题的functions.php中,但不幸的是,没有任何更改:(或者我应该把它放到cart.php中吗?让我们看看。你知道为什么代码对我不起作用吗?我可以检查/做什么?