Php 更改缺货徽章文本
我们在Wordpress和Woo Commerce上使用邻里主题来销售一次性、独特的商品。库存管理在确保售出的产品不能再次购买方面效果良好,而是显示该商品缺货。这在原则上是好的,事实上,在项目描述的价格下,“库存”变为“缺货”的显示没有问题,我们甚至找到了代码,可以在必要时更改该显示。这很好-将以下代码添加到主题中的functions.php中:Php 更改缺货徽章文本,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我们在Wordpress和Woo Commerce上使用邻里主题来销售一次性、独特的商品。库存管理在确保售出的产品不能再次购买方面效果良好,而是显示该商品缺货。这在原则上是好的,事实上,在项目描述的价格下,“库存”变为“缺货”的显示没有问题,我们甚至找到了代码,可以在必要时更改该显示。这很好-将以下代码添加到主题中的functions.php中: add_filter('woocommerce_stock_html', 'change_stock_message', 10, 2); functi
add_filter('woocommerce_stock_html', 'change_stock_message', 10, 2);
function change_stock_message($message, $stock_status) {
if ($stock_status == "Out of stock") {
$message = '<p class="stock out-of-stock">Sold</p>';
} else {
$message = '<p class="stock in-stock">Available</p>';
}
return $message;
}
如何将缺货徽章文本从“缺货”更改为“售出”?我不知道您使用的主题。但是我认为下面的代码可能会解决您的问题-
add_filter('woocommerce_sale_flash', 'woocommerce_sale_flashmessage', 10, 2);
function woocommerce_sale_flashmessage($flash){
global $product;
$availability = $product->get_availability();
if ($availability['availability'] == 'Out of stock') :
$flash = '<span class="out-of-stock-badge">'.__( 'SOLD', 'woocommerce' ).'</span>';
endif;
return $flash;
}
add_filter('woocommerce_sale_flash','woocommerce_sale_flashmessage',10,2);
功能:商业、销售、flashmessage($flash){
全球$产品;
$availability=$product->get_availability();
如果($availability['availability']=='缺货'):
$flash=''.'('sall','woocommerce');
endif;
返回$flash;
}
将其添加到theme的functions.php文件中。根据@maksbd19的建议,我在themes文件夹中的woocommerce文件夹中找到了两个需要编辑的文件(在本例中为邻居)。它们是content-product.php和single-product\product-image.php。在这两种情况下,我将以下行从“缺货”更改为“售出”,如下所示:
...} else if (is_out_of_stock()) {
echo '<span class="out-of-stock-badge">' . __( 'Sold', 'swiftframework' ) . '</span>';
} else if (!$product->get_price()) {...
…}如果(缺货()){
回显“”。_uu('sell','swiftframework');
}否则如果(!$product->get_price()){。。。
希望这对其他人有所帮助。您可以使用child-themes header.php文件中的代码 要创建子主题,请执行以下操作:
2019年3月您需要的代码片段位于中名为wc-product-loop-outofstock-flash.php的文件中(在我的例子中是wp-content/Themes/Avada/woocommerce)
@第一个链接中的brasofilo代码已经添加。第二个链接是一个示例,我没有代码/快照(因此请求)。如果有帮助,请添加屏幕抓图(尽管我只能链接图像,因为我没有足够的代表:()。感谢您的评论!Hi@maksbd19感谢您的回复。不幸的是,我在添加到functions.php时无法实现此功能。我原则上理解这应该如何工作,但缺货徽章仍然显示缺货!我之前发现,此文本可能来自woocommerce模板页面sale-flash.php文件。这是:它位于Neighbor\woocommerce\single product目录中。如果它在那里,那么您可以尝试更改那里的文本。在没有实际环境的情况下解决模板问题非常困难。谢谢@maksbd19,您的建议使我能够发现需要更改哪些文件,哪些文件已包含在answe中你能找到一种不过期的方式来提供“结果”吗?也许,一个屏幕截图,你可以把它作为图像包含在你的答案中?(thx)
...} else if (is_out_of_stock()) {
echo '<span class="out-of-stock-badge">' . __( 'Sold', 'swiftframework' ) . '</span>';
} else if (!$product->get_price()) {...
jQuery( document ).ready(function() {
jQuery(".onsale.oos").text(function () {
return jQuery(this).text().replace("Out of stock", "SOLD");
});
});
<?php if ( ! $product->is_in_stock() ) : ?>
<div class="fusion-out-of-stock">
<div class="fusion-position-text">
<?php esc_attr_e( 'Fully Booked', 'Avada' ); ?>
</div>
</div>
<?php
endif;