Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “更换”;缺货时可用;基于产品类别的购物车内/结帐_Php_Wordpress_Woocommerce_Hook Woocommerce_Taxonomy Terms - Fatal编程技术网

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中吗?让我们看看。你知道为什么代码对我不起作用吗?我可以检查/做什么?