Make attribute requied
-
I want some attribute to required. The vendor has to fill an attribute. Without attribute, the vendor should not able to add products.
Viewing 7 replies - 1 through 7 (of 7 total)
-
Hello @sujeet036 ,
Attributes in the product edit field is only available in Dokan Pro. If you have any queries regarding a feature available in the Pro version please contact our support from your weDevs account.
Thank you ??
Ok
Did you solve this? We have the same requirement. ??
Yes, I will update you tomorrow. You have to edit dokan files.
Please check the below code. I make the Brand attribute required.
File – wp-content/plugins/dokan-pro/templates/products/product-variation.php
<?php /** * Dokan Dashboard Product Variation Template * * @since 2.4 * * @package dokan */ ?> <script> jQuery(document).ready(function(){ $(':input[type="submit"]').prop('disabled', true); jQuery("[name='predefined_attribute']").change(function(){ if(jQuery(this).val()=='pa_brand'){ jQuery('.add_new_attribute').click(); $(':input[type="submit"]').prop('disabled', false); } }); }); </script> <div > <div class="dokan-section-heading" data-togglehandler="dokan_attribute_variation_options"> <h2><i class="fa fa-list-alt" aria-hidden="true"></i> <?php _e( 'Attribute', 'dokan' ); ?><span class="show_if_variable show_if_variable-subscription"><?php _e( ' and Variation', 'dokan' ) ?></span></h2> <p class="show_if_variable show_if_variable-subscription"><?php _e( 'Manage attributes and variations for this variable product.', 'dokan' ); ?></p> <p class="show_if_simple show_if_subscription show_if_grouped"><?php _e( 'Manage attributes for this simple product.', 'dokan' ); ?></p> <a href="#" class="dokan-section-toggle"> <i class="fa fa-sort-desc fa-flip-vertical" aria-hidden="true"></i> </a> <div class="dokan-clearfix"></div> </div> <div class="dokan-section-content"> <div class="dokan-product-attribute-wrapper show_if_simple show_if_subscription show_if_variable show_if_subscription show_if_variable-subscription show_if_grouped"> <ul class="dokan-attribute-option-list"> <?php global $wc_product_attributes; // Product attributes - taxonomies and custom, ordered, with visibility and variation attributes set $attributes = maybe_unserialize( get_post_meta( $post_id, '_product_attributes', true ) ); // Output All Set Attributes if ( ! empty( $attributes ) ) { $attribute_keys = array_keys( $attributes ); $attribute_total = sizeof( $attribute_keys ); for ( $i = 0; $i < $attribute_total; $i ++ ) { $attribute = $attributes[ $attribute_keys[ $i ] ]; $position = empty( $attribute['position'] ) ? 0 : absint( $attribute['position'] ); $taxonomy = ''; $metabox_class = array(); if ( $attribute['is_taxonomy'] ) { $taxonomy = $attribute['name']; if ( ! taxonomy_exists( $taxonomy ) ) { continue; } $attribute_taxonomy = $wc_product_attributes[ $taxonomy ]; $metabox_class[] = 'taxonomy'; $metabox_class[] = $taxonomy; $attribute_label = wc_attribute_label( $taxonomy ); } else { $attribute_label = apply_filters( 'woocommerce_attribute_label', $attribute['name'], $attribute['name'], false ); } dokan_get_template_part( 'products/edit/html-product-attribute', '', array( 'pro' => true, 'thepostid' => $post_id, 'taxonomy' => $taxonomy, 'attribute_taxonomy' => isset( $attribute_taxonomy ) ? $attribute_taxonomy : null, 'attribute_label' => $attribute_label, 'attribute' => $attribute, 'metabox_class' => $metabox_class, 'position' => $position, 'i' => $i ) ); } } ?> </ul> <span style="font-weight:600;">Note: Choosing a brand is mandatory</span> <div class="dokan-attribute-type"> <select name="predefined_attribute" required id="predefined_attribute" class="dokan-w5 dokan-form-control dokan_attribute_taxonomy" data-predefined_attr='<?php echo json_encode( $attribute_taxonomies ); ?>' > <option value=""><?php _e( 'Custom Attribute', 'dokan' ); ?></option> <?php if ( ! empty( $attribute_taxonomies ) ) { foreach ( $attribute_taxonomies as $tax ) { $attribute_taxonomy_name = wc_attribute_taxonomy_name( $tax->attribute_name ); $label = $tax->attribute_label ? $tax->attribute_label : $tax->attribute_name; echo '<option value="' . esc_attr( $attribute_taxonomy_name ) . '">' . esc_html( $label ) . '</option>'; } } ?> </select> <a href="#" class="dokan-btn dokan-btn-default add_new_attribute"><?php _e( 'Add attribute', 'dokan' ) ?></a> <a href="#" class="dokan-btn dokan-btn-default dokan-btn-theme dokan-save-attribute"><?php _e( 'Save attribute', 'dokan' ) ?></a> <span class="dokan-spinner dokan-attribute-spinner dokan-hide"></span> </div> </div> <div class="dokan-product-variation-wrapper show_if_variable show_if_variable-subscription"> <?php dokan_product_output_variations(); ?> </div> </div> </div>
- This reply was modified 3 years, 11 months ago by sujeet036.
Thanks. Is this also working for simple products?
Viewing 7 replies - 1 through 7 (of 7 total)
- The topic ‘Make attribute requied’ is closed to new replies.