WooCommerce 4 में WooCommerce उत्पादों के लिए कस्टम स्टॉक स्थिति
WooCommerce 4 में उत्पादों के लिए कस्टम स्टॉक स्थिति जोड़ना एक अपेक्षाकृत सीधी प्रक्रिया है। हालाँकि, यह सुनिश्चित करने के लिए विशिष्ट कार्यों को संशोधित करने की आवश्यकता है कि स्थितियाँ फ्रंटएंड और बैकएंड में सही ढंग से प्रदर्शित हों।
कस्टम स्टॉक स्थितियाँ जोड़ना
कस्टम स्टॉक स्थितियाँ जोड़ने के लिए, जोड़ें आपकी function.php फ़ाइल में निम्नलिखित कोड:
function filter_woocommerce_product_stock_status_options( $status ) {
// Add new statuses
$status['pre_order'] = __('Pre Order', 'woocommerce');
$status['contact_us'] = __('Contact us', 'woocommerce');
return $status;
}
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );
यह कोड दो नई स्थितियां जोड़ता है: "प्री ऑर्डर" और "हमसे संपर्क करें"।
कस्टम स्टॉक प्रदर्शित करना उपलब्धता
यह सुनिश्चित करने के लिए कि कस्टम स्थितियाँ फ्रंटएंड में सही ढंग से प्रदर्शित हों, निम्नलिखित परिवर्तन लागू करें:
// Availability text
function filter_woocommerce_get_availability_text( $availability, $product ) {
// Get stock status
switch( $product->get_stock_status() ) {
case 'pre_order':
$availability = __( 'Pre Order', 'woocommerce' );
break;
case 'contact_us':
$availability = __( 'Contact us', 'woocommerce' );
break;
}
return $availability;
}
add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 );
// Availability CSS class
function filter_woocommerce_get_availability_class( $class, $product ) {
// Get stock status
switch( $product->get_stock_status() ) {
case 'pre_order':
$class = 'pre-order';
break;
case 'contact_us':
$class = 'contact-us';
break;
}
return $class;
}
add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );
व्यवस्थापक उत्पाद सूची में स्टॉक स्थिति प्रदर्शित करना
व्यवस्थापक उत्पाद सूची में कस्टम स्टॉक स्थिति प्रदर्शित करना तालिका, निम्नलिखित फ़ंक्शन को संशोधित करें:
// Admin stock html
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
// Simple
if ( $product->is_type( 'simple' ) ) {
// Get stock status
$product_stock_status = $product->get_stock_status();
// Variable
} elseif ( $product->is_type( 'variable' ) ) {
foreach( $product->get_visible_children() as $variation_id ) {
// Get product
$variation = wc_get_product( $variation_id );
// Get stock status
$product_stock_status = $variation->get_stock_status();
}
}
// Stock status
switch( $product_stock_status ) {
case 'pre_order':
$stock_html = '<mark class="pre-order" style="background:transparent none;color:#33ccff;font-weight:700;line-height:1;">' . __( 'Pre order', 'woocommerce' ) . '</mark>';
break;
case 'contact_us':
$stock_html = '<mark class="contact-us" style="background:transparent none;color:#cc33ff;font-weight:700;line-height:1;">' . __( 'Contact us', 'woocommerce' ) . '</mark>';
break;
}
return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );
वैकल्पिक: हुक्स में कस्टम स्टॉक स्टेटस का उपयोग करना
आप हुक्स में कस्टम स्टॉक स्टेटस का उपयोग कर सकते हैं जब आपके पास $product ऑब्जेक्ट तक पहुंच है या आप ग्लोबल का उपयोग कर सकते हैं $ उत्पाद। हुक।
कॉलबैक फ़ंक्शन में डिफ़ॉल्ट रूप से पारित होने पर $ उत्पाद ऑब्जेक्ट तक पहुंचें, जैसा कि Woocommerce_get_price_html हुक में है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3