Plugin Directory

Changeset 1942766


Ignore:
Timestamp:
09/17/2018 05:56:31 PM (8 years ago)
Author:
kipsio
Message:

tagging kips 1.0.4

Location:
kips-sync/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kips-sync/trunk/includes/api/class.kips-rest-products-controller.php

    r1936400 r1942766  
    190190
    191191        return array( 'product' => apply_filters( 'woocommerce_api_product_response', $product_data, $product, $fields, $this->server ) );
    192   }
     192    }
     193   
     194    /**
     195     * Get an individual variation's data
     196     *
     197     * @since 2.1
     198     * @param WC_Product $product
     199     * @return array
     200     */
     201    private function get_variation_data( $product ) {
     202        $variations = array();
     203
     204        foreach ( $product->get_children() as $child_id ) {
     205            $variation = wc_get_product( $child_id );
     206
     207            if ( ! $variation || ! $variation->exists() ) {
     208                continue;
     209            }
     210
     211            $variations[] = array(
     212                'id'                => $variation->get_id(),
     213                'created_at'        => $variation->get_date_created(),
     214                'updated_at'        => $variation->get_date_modified(),
     215                'downloadable'      => $variation->is_downloadable(),
     216                'virtual'           => $variation->is_virtual(),
     217                'permalink'         => $variation->get_permalink(),
     218                'sku'               => $variation->get_sku(),
     219                'price'             => wc_format_decimal( $variation->get_price(), 2 ),
     220                'regular_price'     => wc_format_decimal( $variation->get_regular_price(), 2 ),
     221                'sale_price'        => $variation->get_sale_price() ? wc_format_decimal( $variation->get_sale_price(), 2 ) : null,
     222                'taxable'           => $variation->is_taxable(),
     223                'tax_status'        => $variation->get_tax_status(),
     224                'tax_class'         => $variation->get_tax_class(),
     225                'stock_quantity'    => (int) $variation->get_stock_quantity(),
     226                'in_stock'          => $variation->is_in_stock(),
     227                'backordered'       => $variation->is_on_backorder(),
     228                'purchaseable'      => $variation->is_purchasable(),
     229                'visible'           => $variation->variation_is_visible(),
     230                'on_sale'           => $variation->is_on_sale(),
     231                'weight'            => $variation->get_weight() ? wc_format_decimal( $variation->get_weight(), 2 ) : null,
     232                'dimensions'        => array(
     233                    'length' => $variation->get_length(),
     234                    'width'  => $variation->get_width(),
     235                    'height' => $variation->get_height(),
     236                    'unit'   => get_option( 'woocommerce_dimension_unit' ),
     237                ),
     238                'shipping_class'    => $variation->get_shipping_class(),
     239                'shipping_class_id' => ( 0 !== $variation->get_shipping_class_id() ) ? $variation->get_shipping_class_id() : null,
     240                'image'             => $this->get_images( $variation ),
     241                'attributes'        => $this->get_attributes( $variation ),
     242                'downloads'         => $this->get_downloads( $variation ),
     243                'download_limit'    => (int) $product->get_download_limit(),
     244                'download_expiry'   => (int) $product->get_download_expiry(),
     245            );
     246        }
     247
     248        return $variations;
     249    }
    193250 
    194251  /**
     
    378435
    379436        return $attributes;
    380   }
     437    }
     438   
     439    /**
     440     * Get attribute options.
     441     *
     442     * @param int   $product_id Product ID.
     443     * @param array $attribute  Attribute data.
     444     * @return array
     445     */
     446    protected function get_attribute_options( $product_id, $attribute ) {
     447        if ( isset( $attribute['is_taxonomy'] ) && $attribute['is_taxonomy'] ) {
     448            return wc_get_product_terms(
     449                $product_id, $attribute['name'], array(
     450                    'fields' => 'names',
     451                )
     452            );
     453        } elseif ( isset( $attribute['value'] ) ) {
     454            return array_map( 'trim', explode( '|', $attribute['value'] ) );
     455        }
     456
     457        return array();
     458    }
    381459 
    382460  /**
  • kips-sync/trunk/kips_sync.php

    r1940942 r1942766  
    44Plugin URI:   https://kips.io
    55Description:  Synchronisation des flux produits / commandes avec Kips.
    6 Version:      1.0.4
     6Version:      1.0.3
    77Author:       Kips
    88License:      GPL2
Note: See TracChangeset for help on using the changeset viewer.