Woocommerce_Helpers
Class Woocommerce_Helpers
Source Source
File: src/integrations/woocommerce/helpers/woocommerce-helpers.php
class Woocommerce_Helpers { /** * @var Woocommerce_Helpers */ public $options; /** * @var Woocommerce_Pro_Helpers */ public $pro; /** * @var bool */ public $load_options; public function __construct() { $this->load_options = Automator()->helpers->recipe->maybe_load_trigger_options( __CLASS__ ); } /** * @param Woocommerce_Helpers $options */ public function setOptions( Woocommerce_Helpers $options ) { $this->options = $options; } /** * @param Woocommerce_Pro_Helpers $pro */ public function setPro( Woocommerce_Pro_Helpers $pro ) { $this->pro = $pro; } /** * @param string $label * @param string $option_code * * @return mixed */ public function all_wc_products( $label = null, $option_code = 'WOOPRODUCT' ) { if ( ! $this->load_options ) { return Automator()->helpers->recipe->build_default_options_array( $label, $option_code ); } if ( ! $label ) { $label = esc_attr__( 'Product', 'uncanny-automator' ); } $args = [ 'post_type' => 'product', 'posts_per_page' => 999, 'orderby' => 'title', 'order' => 'ASC', 'post_status' => 'publish', ]; $options = Automator()->helpers->recipe->options->wp_query( $args, true, esc_attr__( 'Any product', 'uncanny-automator' ) ); $option = [ 'option_code' => $option_code, 'label' => $label, 'input_type' => 'select', 'required' => true, 'options' => $options, 'relevant_tokens' => [ $option_code => esc_attr__( 'Product title', 'uncanny-automator' ), $option_code . '_ID' => esc_attr__( 'Product ID', 'uncanny-automator' ), $option_code . '_URL' => esc_attr__( 'Product URL', 'uncanny-automator' ), ], ]; return apply_filters( 'uap_option_all_wc_products', $option ); } /** * @param string $label * @param string $option_code * * @return mixed */ public function wc_order_statuses( $label = null, $option_code = 'WCORDERSTATUS' ) { if ( ! $this->load_options ) { return Automator()->helpers->recipe->build_default_options_array( $label, $option_code ); } if ( ! $label ) { $label = 'Status'; } $option = [ 'option_code' => $option_code, 'label' => $label, 'input_type' => 'select', 'required' => true, 'options' => wc_get_order_statuses(), ]; return apply_filters( 'uap_option_woocommerce_statuses', $option ); } }
Expand full source code Collapse full source code View on Github
Methods Methods
- __construct
- all_wc_products
- get_trigger_condition_labels — Fetch labels for trigger conditions.
- get_woocommerce_trigger_conditions
- setOptions
- setPro
- wc_order_statuses