class-affiliates-wc-product.php 2.46 KB
<?php
 class Affiliates_WC_Product { public static function init() { if ( is_admin() ) { add_action( 'woocommerce_product_write_panel_tabs', array( __CLASS__, 'product_write_panel_tabs' ) ); add_action( 'woocommerce_product_write_panels', array( __CLASS__, 'product_write_panels' ) ); add_action( 'woocommerce_process_product_meta', array( __CLASS__, 'process_product_meta' ), 10, 2 ); } } public static function product_write_panel_tabs() { echo '<li class="attributes_tab attribute_options">' . '<a href="#woocommerce_affiliates">' . __( 'Affiliates', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) . '</a>' . '</li>'; } public static function product_write_panels() { global $post; echo '<div id="woocommerce_affiliates" class="panel woocommerce_options_panel" style="padding: 1em;">'; $IXAPWO14 = get_post_meta( $post->ID, '_affiliates_rate', true ); woocommerce_wp_text_input( array( 'id' => '_affiliates_rate', 'label' => __( 'Referral Rate', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ), 'value' => $IXAPWO14, 'description' => __( 'Product referral rate for affiliates.', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ), 'placeholder' => __( 'no rate applies', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) ) ); echo '<div style="padding:1em">'; echo __( 'Examples:', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) . '<br/>'; echo '<ul>'; echo '<li>' . __( 'Indicate <strong>0.1</strong> for 10% commissions on this product.', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) . '</li>'; echo '<li>' . __( 'Indicate <strong>0</strong> to exclude this product from commissions.', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) . '</li>'; echo '<li>' . __( 'Leave empty if no product referral rate should be applied (default setting).', AFF_WOOCOMMERCE_PLUGIN_DOMAIN ) . '</li>'; echo '</ul>'; echo '</div>'; echo '</div>'; } public static function process_product_meta( $post_id, $post ) { delete_post_meta( $post_id, '_affiliates_rate' ); if ( strlen( trim( $_POST['_affiliates_rate'] ) ) > 0 ) { $IXAPWO14 = Affiliates_Attributes::validate_value( 'referral.rate', trim( $_POST['_affiliates_rate'] ) ); if ( $IXAPWO14 !== false ) { add_post_meta( $post_id, '_affiliates_rate', $IXAPWO14, true ); } } } public static function has_rate( $IXAPWO12 ) { $IXAPWO14 = get_post_meta( $IXAPWO12->id, '_affiliates_rate', true ); return strlen( (string) $IXAPWO14 ) > 0; } public static function get_rate( $IXAPWO12 ) { $IXAPWO2 = null; $IXAPWO14 = get_post_meta( $IXAPWO12->id, '_affiliates_rate', true ); if ( strlen( (string) $IXAPWO14 ) > 0 ) { $IXAPWO2 = $IXAPWO14; } return $IXAPWO2; } } Affiliates_WC_Product::init();