Skip to content

Instantly share code, notes, and snippets.

@nayemDevs
Last active November 29, 2023 22:58
Show Gist options
  • Select an option

  • Save nayemDevs/200780d9638a81bf95656f0157d80d58 to your computer and use it in GitHub Desktop.

Select an option

Save nayemDevs/200780d9638a81bf95656f0157d80d58 to your computer and use it in GitHub Desktop.

Revisions

  1. nayemDevs revised this gist Nov 8, 2020. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion functions.php
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    <?php

    /*
    * Adding extra field on New product popup/without popup form
  2. nayemDevs revised this gist Jun 28, 2020. 1 changed file with 0 additions and 6 deletions.
    6 changes: 0 additions & 6 deletions functions.php
    Original file line number Diff line number Diff line change
    @@ -1,9 +1,7 @@
    <?php

    /*
    * Adding extra field on New product popup/without popup form
    */

    add_action( 'dokan_new_product_after_product_tags','new_product_field',10 );
    @@ -34,7 +32,6 @@ function save_add_product_meta($product_id, $postdata){
    if ( ! empty( $postdata['new_field'] ) ) {
    update_post_meta( $product_id, 'new_field', $postdata['new_field'] );
    }

    }

    /*
    @@ -44,9 +41,7 @@ function save_add_product_meta($product_id, $postdata){
    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 );

    ?>
    <div class="dokan-form-group">
    <input type="hidden" name="new_field" id="dokan-edit-product-id" value="<?php echo esc_attr( $post_id ); ?>"/>
    @@ -60,7 +55,6 @@ function show_on_edit_page($post, $post_id){
    }

    // showing on single product page

    add_action('woocommerce_single_product_summary','show_product_code',13);

    function show_product_code(){
  3. nayemDevs created this gist Jun 28, 2020.
    79 changes: 79 additions & 0 deletions functions.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    <?php

    /*
    * Adding extra field on New product popup/without popup form
    */

    add_action( 'dokan_new_product_after_product_tags','new_product_field',10 );

    function new_product_field(){ ?>

    <div class="dokan-form-group">

    <input type="text" class="dokan-form-control" name="new_field" placeholder="<?php esc_attr_e( 'Product Code', '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'] );
    }

    }

    /*
    * 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 );

    ?>
    <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( 'Product Code', 'dokan-lite' ); ?></label>
    <?php dokan_post_input_box( $post_id, 'new_field', array( 'placeholder' => __( 'product code', '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> <?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 );

    if ( ! empty( $new_field ) ) {
    ?>
    <span class="details"><?php echo esc_attr__( 'Product Code:', 'dokan-lite' ); ?> <strong><?php echo esc_attr( $new_field ); ?></strong></span>
    <?php
    }
    }