__( 'Shows a product or a list.', ATKP_PLUGIN_PREFIX), ) ); } // Creating widget front-end // This is where the action happens public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', isset($instance[ATKP_WIDGET.'_title']) ? $instance[ATKP_WIDGET.'_title'] : '', $instance ); // before and after widget arguments are defined by themes $product = 0; $list = 0; $template = 'box'; $addintocart = 'notset'; $containercssclass = ''; $elementcssclass = ''; $limit = 10; $randomsort = false; $usemainproduct = false; $content =''; if (isset($instance[ATKP_WIDGET.'_product'])) $product = intval($instance[ATKP_WIDGET.'_product']); if (isset($instance[ATKP_WIDGET.'_list'])) $list = intval($instance[ATKP_WIDGET.'_list']); if (isset($instance[ATKP_WIDGET.'_template']) && !empty($instance[ATKP_WIDGET.'_template'])) $template = $instance[ATKP_WIDGET.'_template']; if (isset($instance[ATKP_WIDGET.'_containercssclass']) && !empty($instance[ATKP_WIDGET.'_containercssclass'])) $containercssclass = $instance[ATKP_WIDGET.'_containercssclass']; if (isset($instance[ATKP_WIDGET.'_elementcssclass']) && !empty($instance[ATKP_WIDGET.'_elementcssclass'])) $elementcssclass = $instance[ATKP_WIDGET.'_elementcssclass']; if (isset($instance[ATKP_WIDGET.'_limit']) && !empty($instance[ATKP_WIDGET.'_limit'])) $limit = intval($instance[ATKP_WIDGET.'_limit']); if (isset($instance[ATKP_WIDGET.'_random']) && !empty($instance[ATKP_WIDGET.'_random'])) $randomsort = (bool)$instance[ATKP_WIDGET.'_random']; if (isset($instance[ATKP_WIDGET.'_usemainproduct']) && !empty($instance[ATKP_WIDGET.'_usemainproduct'])) $usemainproduct = (bool)$instance[ATKP_WIDGET.'_usemainproduct']; if (isset($instance[ATKP_WIDGET.'_content']) && !empty($instance[ATKP_WIDGET.'_content'])) $content = $instance[ATKP_WIDGET.'_content']; $elementcssclass = $elementcssclass.' atkp-widget'; if($template == '' || ATKP_PLUGIN_VERSION < 30) $template = 'box'; require_once ATKP_PLUGIN_DIR.'/includes/atkp_output.php'; $output = new atkp_output(); if($usemainproduct) { if(get_post_type() == 'product') { $woo_id = get_the_ID(); $hidedisclaimer =true; //woocommerce //INFO: Auch in external_featuredimage in verwendung //INFO: Auch in atkp_tools_woo in columns in verwendung!! $eanfield = get_option(ATKP_PLUGIN_PREFIX.'_woo_ean_field', ''); $keytype = get_option(ATKP_PLUGIN_PREFIX.'_woo_keytype', 'ean'); if($eanfield == '' || $eanfield == 'sku') $ean = ATKPTools::get_post_setting( $woo_id, '_sku'); else $ean = ATKPTools::get_post_setting( $woo_id, $eanfield); require_once ATKP_PLUGIN_DIR.'/includes/atkp_product.php'; if($keytype == 'id') { $exists = atkp_product::exists($ean); if($exists) $product = $ean; } else $product = atkp_product::idbyean($ean); } else { $queried_object = get_queried_object(); if ( $queried_object ) { $post_id = $queried_object->ID; $product = ATKPTools::get_post_setting( $post_id, ATKP_PLUGIN_PREFIX.'_product'); } } } if($product != '' && $product != 0) { echo $args['before_widget']; if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title']; try { echo $output->get_product_output($product, $template, $content, 'notset', '', false, $elementcssclass, $containercssclass, false); } catch(Exception $e) { echo 'Exception: '. $e->getMessage(); } echo $args['after_widget']; } else if($list != '' && $list != 0) { echo $args['before_widget']; if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title']; //create list and output try { echo $output->get_list_output($list, $template, $content, 'notset', $elementcssclass, $containercssclass, $limit, $randomsort, false); } catch(Exception $e) { echo 'Exception: '. $e->getMessage(); } echo $args['after_widget']; } } // Widget Backend public function form( $instance ) { // Widget admin form ?>

>

id="get_field_id( ATKP_WIDGET.'_content' ); ?>" name="get_field_name( ATKP_WIDGET.'_content' ); ?>" type="text" value="" />

>