Я пытаюсь отобразить пользовательский текст доступности для продуктов по 4 правилам на двух языках.
Я установил эту функцию, но я получаю текст доступности (на английском и греческом языках). Я хочу отобразить конкретное сообщение для каждого языка.
//Availability Text for products
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2);
function wcs_custom_get_availability( $availability, $_product ) {
global $product;
$defined_shipping_class = "Κατόπιν Παραγγελίας 7-15 ημέρες";
$defined_shipping_class_en = "Available 7-15 days";
$term = get_term_by( 'slug', $product->get_shipping_class(), 'product_shipping_class' );
//Availability for greek language
if(ICL_LANGUAGE_CODE=='gr');{
//message if has shipping class
if( is_a($term, 'WP_Term') && $term->name == $defined_shipping_class ){
echo '<p class="product-shipping-class">' . $term->name . '</p>';
}
//message if is low stock
elseif ( $_product->is_in_stock() && $product->get_stock_quantity() >= 1 && $product->get_stock_quantity() <= 10 ) {
echo 'Διαθεσιμότητα: ' . $product->get_stock_quantity() . ' τεμ.';
}
// message if is out of stock
elseif ( $_product->is_in_stock() && $product->get_stock_quantity() <1 ) {
echo "<p><a href='https://...../επικοινωνια/' style='background-color:#e1e2e2; padding:5px 15px;color:#ed1c24;'>Αναμένεται. Επικοινωνήστε μαζί μας.</a></p>" ;
}
// message if is in stock
elseif( $_product->is_in_stock() && $product->get_stock_quantity() > 11 ) {
echo 'Σε απόθεμα' . $product->get_stock_quantity() . ' τεμ.';
}
}
//Availability for english language
if(ICL_LANGUAGE_CODE=='en'); {
//message if has shipping class
if( is_a($term, 'WP_Term') && $term->name == $defined_shipping_class_en ){
echo '<p class="product-shipping-class">' . $term->name . '</p>';
}
//message if is low stock
elseif ( $_product->is_in_stock() && $product->get_stock_quantity() >= 1 && $product->get_stock_quantity() <= 10 ) {
echo 'Αvailability: ' . $product->get_stock_quantity() . ' pcs.';
}
// message if is out of stock
elseif ( $_product->is_in_stock() && $product->get_stock_quantity() <1 ) {
echo "<p><a href='https://....../επικοινωνια/' style='background-color:#e1e2e2; padding:5px 15px;color:#ed1c24;'>Expected.Please contact us.</a></p>" ;
}
// message if is in stock
elseif( $_product->is_in_stock() && $product->get_stock_quantity() > 11 ) {
echo 'In stock' . $product->get_stock_quantity() . ' pcs.';
}
}
}
Я хочу отобразить конкретное сообщение для каждого языка. Этот код печатает текст на обоих языках одновременно. Когда я ставлю elseif
для английского языка, сайт ломается. Не могу понять, что я делаю не так... Заранее спасибо за помощь!