/** * Related Products * * Display a list of related products and/or up-sells */ if ( ! defined( 'ABSPATH' ) ) { exit; } // Exit if accessed directly if( ! class_exists( 'woocommerce' ) ) { add_shortcode( 'av_product_upsells', 'avia_please_install_woo' ); return; } if ( ! class_exists( 'avia_sc_product_upsells' ) ) { class avia_sc_product_upsells extends aviaShortcodeTemplate { /** * Create the config array for the shortcode button */ function shortcode_insert_button() { $this->config['version'] = '1.0'; $this->config['self_closing'] = 'yes'; $this->config['name'] = __( 'Related Products', 'avia_framework' ); $this->config['tab'] = __( 'Plugin Additions', 'avia_framework' ); $this->config['icon'] = AviaBuilder::$path['imagesURL'] . 'sc-tabs.png'; $this->config['order'] = 15; $this->config['target'] = 'avia-target-insert'; $this->config['shortcode'] = 'av_product_upsells'; $this->config['tooltip'] = __( 'Display a list of related products and/or up-sells', 'avia_framework' ); $this->config['drag-level'] = 3; $this->config['tinyMCE'] = array( 'disable' => 'true' ); $this->config['posttype'] = array( 'product', __( 'This element can only be used on single product pages', 'avia_framework' ) ); $this->config['id_name'] = 'id'; $this->config['id_show'] = 'yes'; $this->config['alb_desc_id'] = 'alb_description'; } /** * Popup Elements * * If this function is defined in a child class the element automatically gets an edit button, that, when pressed * opens a modal window that allows to edit the element properties * * @return void */ function popup_elements() { $this->elements = array( array( 'type' => 'tab_container', 'nodescription' => true ), array( 'type' => 'tab', 'name' => __( 'Content', 'avia_framework' ), 'nodescription' => true ), array( 'type' => 'template', 'template_id' => $this->popup_key( 'content_upsells' ) ), array( 'type' => 'tab_close', 'nodescription' => true ), array( 'type' => 'tab_container_close', 'nodescription' => true ) ); } /** * Create and register templates for easier maintainance * * @since 4.6.4 */ protected function register_dynamic_templates() { /** * Content Tab * =========== */ $c = array( array( 'name' => __( 'Display options', 'avia_framework' ), 'desc' => __( 'Choose which products you want to display', 'avia_framework' ), 'id' => 'display', 'type' => 'select', 'std' => 'upsells related', 'subtype' => array( __( 'Display up-sells and related products', 'avia_framework' ) => 'upsells related', __( 'Display up-sells only', 'avia_framework' ) => 'upsells', __( 'Display related products only', 'avia_framework' ) => 'related' ) ), array( 'name' => __( 'Number of items', 'avia_framework' ), 'desc' => __( 'Choose the maximum number of products to display', 'avia_framework' ), 'id' => 'count', 'type' => 'select', 'std' => '4', 'subtype' => array( '1' =>'1', '2' =>'2', '3' =>'3', '4' =>'4', '5' =>'5' ) ), array( 'name' => __( 'WooCommerce Product visibility?', 'avia_framework' ), 'desc' => __( 'Select the visibility of WooCommerce products. Default setting can be set at Woocommerce -> Settings -> Products -> Inventory -> Out of stock visibility. Currently it is only possible to hide products out of stock.', 'avia_framework' ), 'id' => 'wc_prod_visible', 'type' => 'select', 'std' => '', 'subtype' => array( __( 'Use default WooCommerce Setting (Settings -> Products -> Out of stock visibility)', 'avia_framework' ) => '', __( 'Hide products out of stock', 'avia_framework' ) => 'hide', // __( 'Show products out of stock', 'avia_framework' ) => 'show' ) ), ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'content_upsells' ), $c ); } /** * Editor Element - this function defines the visual appearance of an element on the AviaBuilder Canvas * Most common usage is to define some markup in the $params['innerHtml'] which is then inserted into the drag and drop container * Less often used: $params['data'] to add data attributes, $params['class'] to modify the className * * * @param array $params this array holds the default values for $content and $args. * @return $params the return array usually holds an innerHtml key that holds item specific markup. */ function editor_element( $params ) { $params = parent::editor_element( $params ); return $params; } /** * Frontend Shortcode Handler * * @param array $atts array of attributes * @param string $content text within enclosing form of shortcode element * @param string $shortcodename the shortcode found, when == callback name * @return string $output returns the modified html string */ function shortcode_handler( $atts, $content = '', $shortcodename = '', $meta = '' ) { global $avia_config, $product; // fix for seo plugins which execute the do_shortcode() function before everything is loaded if( ! function_exists( 'WC' ) || ! WC() instanceof WooCommerce || ! is_object( WC()->query ) || ! $product instanceof WC_Product ) { return ''; } extract( shortcode_atts( array( 'display' => 'upsells related', 'count' => 4, 'wc_prod_visible' => '' ), $atts, $this->config['shortcode'] ) ); if( ! isset( $meta['el_class'] ) ) { $meta['el_class'] = ''; } // force to ignore WC default setting - see hooked function avia_wc_product_is_visible switch( $wc_prod_visible ) { case 'show': $avia_config['woocommerce']['catalog_product_visibility'] = 'show_all'; break; case 'hide': $avia_config['woocommerce']['catalog_product_visibility'] = 'hide_out_of_stock'; break; default: $avia_config['woocommerce']['catalog_product_visibility'] = 'use_default'; break; } $output = ''; // $product = wc_get_product(); $output .= "
"; if( strpos( $display, 'upsells' ) !== false ) { $output .= avia_woocommerce_output_upsells( $count, $count ); } if( strpos( $display, 'related' ) !== false ) { $output .= avia_woocommerce_output_related_products( $count, $count ); } $output .= '
'; // reset $avia_config['woocommerce']['catalog_product_visibility'] = 'use_default'; return $output; } } }

check-for-a-09-04

25/03/2025/in 1win /by Sónia Nunes

check-for-a-09-04 check-for-a-09-04check-for-a-09-04check-for-a-09-04check-for-a-09-04

Share this entry
  • Share on Facebook
  • Share on WhatsApp
  • Share on Pinterest
  • Share by Mail
https://sonianunes.com/wp-content/uploads/2018/03/sonia_simbolo_hrlarge-1500x1157.jpg 0 0 Sónia Nunes https://sonianunes.com/wp-content/uploads/2018/03/sonia_simbolo_hrlarge-1500x1157.jpg Sónia Nunes2025-03-25 12:43:302025-04-09 13:06:10check-for-a-09-04

Interesting links

Here are some interesting links for you! Enjoy your stay :)

Pages

  • Blog
  • Contactos
  • Home
  • Home
  • Portfolio

Categories

  • ! Без рубрики
  • !Category
  • 1
  • 1 Win Aviator
  • 1_5000_com
  • 1000Z
  • 10120_sat
  • 10125_sat
  • 1020i
  • 10400_sat2
  • 11200_prod
  • 1250Z
  • 1300Z
  • 1win
  • 1xbet
  • 2
  • 2_europe-today.ru 1win 7000 RU
  • 2000Z
  • 2000ZDP
  • 2040
  • 222
  • 23
  • 26
  • 3
  • 300Z
  • 334i
  • 4
  • 667
  • 9600_prod
  • 9600_prod2
  • 9950_prod
  • a16z generative ai 1
  • adobe generative ai 1
  • adobe generative ai 2
  • ahh
  • ai-girlfriend
  • aisi-assistant
  • ancorallZ 1000
  • ancorallZ 10000
  • ancorallZ 1250
  • ancorallZ 15000TR2
  • ancorallZ 1610
  • ancorallZ 17500TR2
  • ancorallZ 2000
  • ancorallZ 2000_3
  • ancorallZ 3000
  • ancorallZ 50%
  • ancorallZ 500
  • ancorallZ 9000
  • ancorallZ dp
  • ancorallZ TP2
  • ankaratarotfali.com 1
  • anonymous
  • APK
  • arh
  • at99
  • atg
  • ATG 賽特2
  • aug_bh
  • aviator
  • bashpirat.ru 2000
  • Bebé
  • Beste Casino's in België
  • Bet Mex
  • Betting
  • bguzel.ru 20
  • Binobet καζίνο
  • Blitz
  • blog
  • bootstrap-3.rugetting-started.php 100
  • bubbleshop.ru 170
  • Business, Small Business
  • Cancer
  • Car
  • casino
  • casino-game
  • casino-online
  • casino-slot-online
  • casino-slots
  • casino770
  • casinopinco
  • casinos
  • casinowazamba
  • catspinscasino
  • cheremis46.ru 500
  • Communications, GPS
  • daavdeev.ru 4-8
  • des jeux
  • detsad-51.ru 500
  • developmentspb.ru 10
  • doll
  • dou9ustilimsk.ru 10
  • dream-air.ru 150
  • E
  • FairSpin
  • Família
  • fc-metallurg.ru 50
  • fcommunity.ru
  • football
  • fortunetiger
  • game
  • game-online
  • game-slot
  • game1
  • games
  • gaming
  • general
  • Genieplay Greece
  • giochi
  • gioco
  • gp2ui.ru 10
  • Hospital
  • igle-net.ru 36
  • igry-nardy.ru 36
  • imageloop.ru 100
  • Integrator
  • izzi
  • jeux
  • JustCasino
  • Kasyno
  • kuppersberg-store.ru 700
  • Leonbet Casino online
  • lightnovosti.ru 300
  • Livecasino
  • lusigroom.ru 500
  • madnixcasino
  • masslinker
  • Maternidade
  • mdash.ru 170
  • Media
  • mvclinic.ru 50
  • n1casino
  • needforslotscasino
  • Networking
  • NEW
  • News
  • ninecasino
  • Non Gamstop Casinos
  • normel-spb.ru 2500
  • Novidades
  • Online Betting
  • online-game
  • other
  • Pablic
  • pages
  • Parimatch
  • part2
  • Personal
  • pinco
  • Plinko
  • Post
  • Public
  • pulmix.ru 150
  • r7csn.club
  • r7csn.xyz
  • Recém-nascido
  • rgk1rzn.ru 2
  • rsem.pro
  • rsg
  • safaritoy.ru 500
  • seo_linkk_order
  • sep+
  • slfmsal.ru 5
  • smartline93.ru 4-8
  • spel
  • spell
  • spellen
  • Spiele
  • spielen
  • spile
  • spiled
  • spilen
  • spiller1
  • spindragonscasino
  • Spinoloco παιχνίδια
  • spu30.ru 4-8
  • sweet-bonanza.best 2000
  • tegory%
  • tenexcasino
  • themuseumtimes.com
  • totalcasino
  • triartarenda.ru 500
  • uncategorised
  • Uncategorized
  • under-prog.ru 300
  • vavada
  • verin-tennis.rutop-kripto-kazino 20
  • vidavegascasino
  • viratemizlikhizmetleri.com 1000
  • vistenpark.ru
  • vorzeit-hessen.com 1
  • vulkanvegascasino
  • wildz
  • winouicasino
  • www.cauciucuribucuresti.ro
  • www.churchgrowthresearch.org.uk
  • www.sepabelgium.be
  • www.sigarenfabrieken.nl
  • xn—-7sb3aca9ahcif.xn--p1ai 2000
  • xn--80aabgmmpsoifaggnlcs2o4a.xn--p1ai 50
  • yacivic.ru 20
  • Новая папка
  • Пинко Казино
  • 世界盃
  • 賽特2
Scroll to top

Powered by
►
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
►
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
►
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
►
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
►
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by