رفتن به مطلب

ایجاد چک باکس در فرم افزودن محصول افزونه دکان


پست های پیشنهاد شده

سلام وقت بخیر  دوستان

من با کد زیر دوتا فیلد چک باکس به فرم افزودن محصول افزونه دکان اضافه کردم و هنگام افزودن محصول وقتی تیک چک باکس زده میشه خروجی در صفحه محصول نمایش داده میشه یک مشکلی هست فقط

در فرم ویرایش محصول فیلدهای چک باکس تیک نخورده و قابل حذف نیستن! یعنی نمیشه تیکشو برداشت و دوباره ذخیره کرد.

ممنون میشم راهنمایی کنید.

* Adding extra field on New product popup/without popup form
*/
<?php
add_action( 'dokan_new_product_after_product_tags','new_product_field',10 );

function new_product_field(){ ?>

     <div class="dokan-form-group">
			  <label for="new_field" class="form-label">تلفن تماس: </label>
              <input type="text" class="dokan-form-control" name="new_field" placeholder="<?php esc_attr_e( 'تلفن', 'dokan-lite' ); ?>">
        </div>
		     <div class="dokan-form-group">
			  <label for="new_field2" class="form-label">شماره یک: </label>
              <input type="checkbox" class="checkbox" name="new_field2" placeholder="<?php esc_attr_e( 'یک', 'dokan-lite' ); ?>">
        </div>
				     <div class="dokan-form-group">
			  <label for="new_field3" class="form-label">شماره دو: </label>
              <input type="checkbox" class="checkbox" name="new_field3" placeholder="<?php esc_attr_e( 'دو', 'dokan-lite' ); ?>">
        </div>

   <?php
}

/*
* Saving product field data for edit and update
*/

 add_action( 'dokan_new_product_added','save_add_product_meta', 10, 2 );
 add_action( 'dokan_product_updated', 'save_add_product_meta', 10, 2 );

function save_add_product_meta($product_id, $postdata){

    if ( ! dokan_is_user_seller( get_current_user_id() ) ) {
            return;
        }

        if ( ! empty( $postdata['new_field'] ) ) {
            update_post_meta( $product_id, 'new_field', $postdata['new_field'] );
        }
		if( isset( $_POST[ 'new_field2' ] ) ) {
    update_post_meta( $postdata, 'new_field2', 'yes' );
} else {
        delete_post_meta( $postdata, 'new_field2' );
}
		if ( ! empty( $postdata['new_field3'] ) ) {
            update_post_meta( $product_id, 'new_field3', $postdata['new_field3'] );
        }
}

/*
* Showing field data on product edit page
*/

add_action('dokan_product_edit_after_product_tags','show_on_edit_page',99,2);

function show_on_edit_page($post, $post_id){
$new_field         = get_post_meta( $post_id, 'new_field', true );
$new_field2         = get_post_meta( $post_id, 'new_field2', true );
$new_field3         = get_post_meta( $post_id, 'new_field3', true );
?>
   <div class="dokan-form-group">
        <input type="hidden" name="new_field" id="dokan-edit-product-id" value="<?php echo esc_attr( $post_id ); ?>"/>
        <label for="new_field" class="form-label"><?php esc_html_e( 'تلفن تماس: ', 'dokan-lite' ); ?></label>
        <?php dokan_post_input_box( $post_id, 'new_field', array( 'placeholder' => __( 'تلفن', 'dokan-lite' ), 'value' => $new_field ) ); ?>
        <div class="dokan-product-title-alert dokan-hide">
         <?php esc_html_e( 'Please enter product code!', 'dokan-lite' ); ?>
        </div>
     </div>
   <div class="dokan-form-group">
			<input type="checkbox" class="checkbox" name="new_field2" <?php echo (isset($_POST['new_field2'])?"value='on'":"value='off'")?> <?php checked( $new_field2, 'on' ); ?> >
			<label for="new_field2" class="form-label">شماره یک: </label>
			<input type="checkbox" class="checkbox" name="new_field3" placeholder="<?php esc_attr_e( 'دو', 'dokan-lite' ); ?>">
			<label for="new_field3" class="form-label">شماره دو: </label>			
			
        
        <div class="dokan-product-title-alert dokan-hide">
         <?php esc_html_e( 'Please enter product code!', 'dokan-lite' ); ?>
        </div>
     </div>
	 <?php
}
// showing on single product page
add_action('woocommerce_single_product_summary','show_product_code',13);

function show_product_code(){
      global $product;

        if ( empty( $product ) ) {
            return;
        }
 $new_field = get_post_meta( $product->get_id(), 'new_field', true );
 $new_field2 = get_post_meta( $product->get_id(), 'new_field2', true );
 $new_field3 = get_post_meta( $product->get_id(), 'new_field3', true );


        if ( ! empty( $new_field ) ) {
            ?>
				  
                  <span class="details vendortel"><?php echo esc_attr__( 'تلفن تماس فروشنده: ', 'dokan-lite' ); ?> <strong><?php echo esc_attr( $new_field ); ?></strong></span>
				  <p class="price2"></p>
            <?php
        }
		if ( ! empty( $new_field2 ) ) {
            ?>
				  
                  <span class="details vendortel"><?php echo esc_attr__( 'شماره یک: ', 'dokan-lite' ); ?> <strong>یک</strong></span>
				  <p class="price2"></p>
            <?php
        }
		if ( ! empty( $new_field3 ) ) {
            ?>
				  
                  <span class="details vendortel"><?php echo esc_attr__( 'شماره دو: ', 'dokan-lite' ); ?> <strong>دو</strong></span>
				  <p class="price2"></p>
            <?php
        }
}

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...