product(); $helper->create_attribute( 'size', [ 'small', 'medium', 'large' ], 'Product size' ); $helper->create_attribute( 'color', [ 'red', 'blue', 'green' ], 'Product color' ); codecept_debug( 'ATTRIBUTES_LOADED' ); add_action( 'init_graphql_request', [ self::class, 'shortcode_test_init' ] ); codecept_debug( 'SHORTCODE_INITIALIZED' ); \Stripe\Stripe::setApiKey( defined( 'STRIPE_API_SECRET_KEY' ) ? STRIPE_API_SECRET_KEY : getenv( 'STRIPE_API_SECRET_KEY' ) ); } public function cart() { return \CartHelper::instance(); } public function coupon() { return \CouponHelper::instance(); } public function customer() { return \CustomerHelper::instance(); } public function order() { return \OrderHelper::instance(); } public function item() { return \OrderItemHelper::instance(); } public function product() { return \ProductHelper::instance(); } public function product_variation() { return \ProductVariationHelper::instance(); } public function refund() { return \RefundHelper::instance(); } public function shipping_method() { return \ShippingMethodHelper::instance(); } public function tax_rate() { return \TaxRateHelper::instance(); } public function get_nodes( $ids, $crud ) { $nodes = []; foreach ( $ids as $id ) { $nodes[] = $crud->get_query_data( $id ); } return [ 'nodes' => $nodes ]; } public function clear_loader_cache( $loader_name ) { $loader = \WPGraphQL::get_app_context()->get_loader( $loader_name ); $loader->clear_all(); } public static function shortcode_test_init() { add_shortcode( 'shortcode_test', [ self::class, 'shortcode_test_handler' ] ); } public static function shortcode_test_handler( $atts ) { return '
This is the product description.
'; } }