ErrorException (E_ERROR)
Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308 (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php) (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php)
Previous exceptions
  • Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308 (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php) (0)
  • Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308 (0)
ErrorException thrown with message "Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308 (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php) (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php)" Stacktrace: #43 ErrorException in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php:62 #42 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php:45 #41 ErrorException in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php:62 #40 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php:47 #39 Symfony\Component\Debug\Exception\FatalThrowableError in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php:62 #38 App\Services\Hooks\Woocommerce\SingleProduct:customTextAddToCartBtn in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:308 #37 WP_Hook:apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php:205 #36 apply_filters in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php:1924 #35 WC_Product:single_add_to_cart_text in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variation-add-to-cart-button.php:31 #34 include in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php:345 #33 wc_get_template in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php:3042 #32 woocommerce_single_variation_add_to_cart_button in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:308 #31 WP_Hook:apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:332 #30 WP_Hook:do_action in /home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php:517 #29 do_action in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php:71 #28 include in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php:345 #27 wc_get_template in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php:1729 #26 woocommerce_variable_add_to_cart in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:308 #25 WP_Hook:apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:332 #24 WP_Hook:do_action in /home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php:517 #23 do_action in /home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php:1675 #22 woocommerce_template_single_add_to_cart in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:308 #21 WP_Hook:apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:332 #20 WP_Hook:do_action in /home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php:517 #19 do_action in /home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/90d1cf9a137a5c61e3677bb688e9dd98bc5925ee.php:70 #18 include in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php:43 #17 Illuminate\View\Engines\PhpEngine:evaluatePath in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/CompilerEngine.php:59 #16 Illuminate\View\Engines\CompilerEngine:get in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:142 #15 Illuminate\View\View:getContents in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:125 #14 Illuminate\View\View:renderContents in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:90 #13 Illuminate\View\View:render in /home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/c2e5451d15a439d5bbb55fb83e9ea1ca051d1e15.php:8 #12 include in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php:43 #11 Illuminate\View\Engines\PhpEngine:evaluatePath in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/CompilerEngine.php:59 #10 Illuminate\View\Engines\CompilerEngine:get in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:142 #9 Illuminate\View\View:getContents in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:125 #8 Illuminate\View\View:renderContents in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php:90 #7 Illuminate\View\View:render in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/roots/sage-lib/Template/Blade.php:58 #6 Roots\Sage\Template\Blade:render in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/helpers.php:57 #5 App\template in /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Core/Boot.php:212 #4 App\Core\Boot:templateLoader in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php:308 #3 WP_Hook:apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php:205 #2 apply_filters in /home/clients/cosavostra/prod/goldunion/wp-includes/template-loader.php:104 #1 require_once in /home/clients/cosavostra/prod/goldunion/wp-blog-header.php:19 #0 require in /home/clients/cosavostra/prod/goldunion/index.php:17
Stack frames (44)
43
ErrorException
/app/Services/Hooks/Woocommerce/SingleProduct.php62
42
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/illuminate/view/Engines/PhpEngine.php45
41
ErrorException
/app/Services/Hooks/Woocommerce/SingleProduct.php62
40
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/illuminate/view/Engines/PhpEngine.php47
39
Symfony\Component\Debug\Exception\FatalThrowableError
/app/Services/Hooks/Woocommerce/SingleProduct.php62
38
App\Services\Hooks\Woocommerce\SingleProduct customTextAddToCartBtn
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php308
37
WP_Hook apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php205
36
apply_filters
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php1924
35
WC_Product single_add_to_cart_text
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variation-add-to-cart-button.php31
34
include
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php345
33
wc_get_template
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php3042
32
woocommerce_single_variation_add_to_cart_button
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php308
31
WP_Hook apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php332
30
WP_Hook do_action
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php517
29
do_action
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php71
28
include
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php345
27
wc_get_template
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php1729
26
woocommerce_variable_add_to_cart
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php308
25
WP_Hook apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php332
24
WP_Hook do_action
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php517
23
do_action
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php1675
22
woocommerce_template_single_add_to_cart
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php308
21
WP_Hook apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php332
20
WP_Hook do_action
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php517
19
do_action
/home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/90d1cf9a137a5c61e3677bb688e9dd98bc5925ee.php70
18
include
/vendor/illuminate/view/Engines/PhpEngine.php43
17
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/illuminate/view/Engines/CompilerEngine.php59
16
Illuminate\View\Engines\CompilerEngine get
/vendor/illuminate/view/View.php142
15
Illuminate\View\View getContents
/vendor/illuminate/view/View.php125
14
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php90
13
Illuminate\View\View render
/home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/c2e5451d15a439d5bbb55fb83e9ea1ca051d1e15.php8
12
include
/vendor/illuminate/view/Engines/PhpEngine.php43
11
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/illuminate/view/Engines/CompilerEngine.php59
10
Illuminate\View\Engines\CompilerEngine get
/vendor/illuminate/view/View.php142
9
Illuminate\View\View getContents
/vendor/illuminate/view/View.php125
8
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php90
7
Illuminate\View\View render
/vendor/roots/sage-lib/Template/Blade.php58
6
Roots\Sage\Template\Blade render
/app/helpers.php57
5
App\template
/app/Core/Boot.php212
4
App\Core\Boot templateLoader
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php308
3
WP_Hook apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php205
2
apply_filters
/home/clients/cosavostra/prod/goldunion/wp-includes/template-loader.php104
1
require_once
/home/clients/cosavostra/prod/goldunion/wp-blog-header.php19
0
require
/home/clients/cosavostra/prod/goldunion/index.php17
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php
                    'value' => $value,
                    'icon' => $img
                ];
            }
        }
 
        echo template(
            'partials.woocommerce.product-attrs',
            [
                'attributes' => $attrs
            ]
        );
    }
 
    public function removeSaleFlash(): string
    {
        return '';
    }
 
    public function customTextAddToCartBtn($text, WC_Product_Simple $product)
    {
        return $text . ' ' . wc_price($product->get_price());
    }
 
    public function woocommerceTabs($tabs): array
    {
        return [];
    }
}
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php
                    'value' => $value,
                    'icon' => $img
                ];
            }
        }
 
        echo template(
            'partials.woocommerce.product-attrs',
            [
                'attributes' => $attrs
            ]
        );
    }
 
    public function removeSaleFlash(): string
    {
        return '';
    }
 
    public function customTextAddToCartBtn($text, WC_Product_Simple $product)
    {
        return $text . ' ' . wc_price($product->get_price());
    }
 
    public function woocommerceTabs($tabs): array
    {
        return [];
    }
}
 
Exception message: Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308 (View: /home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/resources/views/woocommerce/content-single-product.blade.php)
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
        }
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Services/Hooks/Woocommerce/SingleProduct.php
                    'value' => $value,
                    'icon' => $img
                ];
            }
        }
 
        echo template(
            'partials.woocommerce.product-attrs',
            [
                'attributes' => $attrs
            ]
        );
    }
 
    public function removeSaleFlash(): string
    {
        return '';
    }
 
    public function customTextAddToCartBtn($text, WC_Product_Simple $product)
    {
        return $text . ' ' . wc_price($product->get_price());
    }
 
    public function woocommerceTabs($tabs): array
    {
        return [];
    }
}
 
Exception message: Argument 2 passed to App\Services\Hooks\Woocommerce\SingleProduct::customTextAddToCartBtn() must be an instance of WC_Product_Simple, instance of WC_Product_Variable given, called in /home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php on line 308
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php
        $all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
        _wp_call_all_hook( $all_args );
    }
 
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    // Pass the value to WP_Hook.
    array_unshift( $args, $value );
 
    $filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() This function is identical, but the arguments passed to the
 *                      functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_filters        Stores the number of times each filter was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the filter hook.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php
    public function get_max_purchase_quantity() {
        return $this->is_sold_individually() ? 1 : ( $this->backorders_allowed() || ! $this->managing_stock() ? -1 : $this->get_stock_quantity() );
    }
 
    /**
     * Get the add to url used mainly in loops.
     *
     * @return string
     */
    public function add_to_cart_url() {
        return apply_filters( 'woocommerce_product_add_to_cart_url', $this->get_permalink(), $this );
    }
 
    /**
     * Get the add to cart button text for the single page.
     *
     * @return string
     */
    public function single_add_to_cart_text() {
        return apply_filters( 'woocommerce_product_single_add_to_cart_text', __( 'Add to cart', 'woocommerce' ), $this );
    }
 
    /**
     * Get the add to cart button text.
     *
     * @return string
     */
    public function add_to_cart_text() {
        return apply_filters( 'woocommerce_product_add_to_cart_text', __( 'Read more', 'woocommerce' ), $this );
    }
 
    /**
     * Get the add to cart button text description - used in aria tags.
     *
     * @since  3.3.0
     * @return string
     */
    public function add_to_cart_description() {
        /* translators: %s: Product title */
        return apply_filters( 'woocommerce_product_add_to_cart_description', sprintf( __( 'Read more about “%s”', 'woocommerce' ), $this->get_name() ), $this );
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variation-add-to-cart-button.php
global $product;
?>
<div class="woocommerce-variation-add-to-cart variations_button">
    <?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>
 
    <?php
    do_action( 'woocommerce_before_add_to_cart_quantity' );
 
    woocommerce_quantity_input(
        array(
            'min_value'   => apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ),
            'max_value'   => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ),
            'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( wp_unslash( $_POST['quantity'] ) ) : $product->get_min_purchase_quantity(), // WPCS: CSRF ok, input var ok.
        )
    );
 
    do_action( 'woocommerce_after_add_to_cart_quantity' );
    ?>
 
    <button type="submit" class="single_add_to_cart_button button alt"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
 
    <?php do_action( 'woocommerce_after_add_to_cart_button' ); ?>
 
    <input type="hidden" name="add-to-cart" value="<?php echo absint( $product->get_id() ); ?>" />
    <input type="hidden" name="product_id" value="<?php echo absint( $product->get_id() ); ?>" />
    <input type="hidden" name="variation_id" class="variation_id" value="0" />
</div>
 
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php
        'template_path' => $template_path,
        'located'       => $template,
        'args'          => $args,
    );
 
    if ( ! empty( $args ) && is_array( $args ) ) {
        if ( isset( $args['action_args'] ) ) {
            wc_doing_it_wrong(
                __FUNCTION__,
                __( 'action_args should not be overwritten when calling wc_get_template.', 'woocommerce' ),
                '3.6.0'
            );
            unset( $args['action_args'] );
        }
        extract( $args ); // @codingStandardsIgnoreLine
    }
 
    do_action( 'woocommerce_before_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
 
    include $action_args['located'];
 
    do_action( 'woocommerce_after_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
}
 
/**
 * Like wc_get_template, but returns the HTML instead of outputting.
 *
 * @see wc_get_template
 * @since 2.5.0
 * @param string $template_name Template name.
 * @param array  $args          Arguments. (default: array).
 * @param string $template_path Template path. (default: '').
 * @param string $default_path  Default path. (default: '').
 *
 * @return string
 */
function wc_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
    ob_start();
    wc_get_template( $template_name, $args, $template_path, $default_path );
    return ob_get_clean();
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php
    }
}
 
if ( ! function_exists( 'woocommerce_single_variation' ) ) {
 
    /**
     * Output placeholders for the single variation.
     */
    function woocommerce_single_variation() {
        echo '<div class="woocommerce-variation single_variation"></div>';
    }
}
 
if ( ! function_exists( 'woocommerce_single_variation_add_to_cart_button' ) ) {
 
    /**
     * Output the add to cart button for variations.
     */
    function woocommerce_single_variation_add_to_cart_button() {
        wc_get_template( 'single-product/add-to-cart/variation-add-to-cart-button.php' );
    }
}
 
if ( ! function_exists( 'wc_dropdown_variation_attribute_options' ) ) {
 
    /**
     * Output a list of variation attributes for use in the cart forms.
     *
     * @param array $args Arguments.
     * @since 2.4.0
     */
    function wc_dropdown_variation_attribute_options( $args = array() ) {
        $args = wp_parse_args(
            apply_filters( 'woocommerce_dropdown_variation_attribute_options_args', $args ),
            array(
                'options'          => false,
                'attribute'        => false,
                'product'          => false,
                'selected'         => false,
                'name'             => '',
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $hook_name ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Calls the callback functions that have been added to an action hook, specifying arguments in an array.
 *
 * @since 2.1.0
 *
 * @see do_action() This function is identical, but the arguments passed to the
 *                  functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_actions        Stores the number of times each action was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the action to be executed.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 */
function do_action_ref_array( $hook_name, $args ) {
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php
                <?php endforeach; ?>
            </tbody>
        </table>
        <?php do_action( 'woocommerce_after_variations_table' ); ?>
 
        <div class="single_variation_wrap">
            <?php
                /**
                 * Hook: woocommerce_before_single_variation.
                 */
                do_action( 'woocommerce_before_single_variation' );
 
                /**
                 * Hook: woocommerce_single_variation. Used to output the cart button and placeholder for variation data.
                 *
                 * @since 2.4.0
                 * @hooked woocommerce_single_variation - 10 Empty div for variation data.
                 * @hooked woocommerce_single_variation_add_to_cart_button - 20 Qty and cart button.
                 */
                do_action( 'woocommerce_single_variation' );
 
                /**
                 * Hook: woocommerce_after_single_variation.
                 */
                do_action( 'woocommerce_after_single_variation' );
            ?>
        </div>
    <?php endif; ?>
 
    <?php do_action( 'woocommerce_after_variations_form' ); ?>
</form>
 
<?php
do_action( 'woocommerce_after_add_to_cart_form' );
 
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-core-functions.php
        'template_path' => $template_path,
        'located'       => $template,
        'args'          => $args,
    );
 
    if ( ! empty( $args ) && is_array( $args ) ) {
        if ( isset( $args['action_args'] ) ) {
            wc_doing_it_wrong(
                __FUNCTION__,
                __( 'action_args should not be overwritten when calling wc_get_template.', 'woocommerce' ),
                '3.6.0'
            );
            unset( $args['action_args'] );
        }
        extract( $args ); // @codingStandardsIgnoreLine
    }
 
    do_action( 'woocommerce_before_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
 
    include $action_args['located'];
 
    do_action( 'woocommerce_after_template_part', $action_args['template_name'], $action_args['template_path'], $action_args['located'], $action_args['args'] );
}
 
/**
 * Like wc_get_template, but returns the HTML instead of outputting.
 *
 * @see wc_get_template
 * @since 2.5.0
 * @param string $template_name Template name.
 * @param array  $args          Arguments. (default: array).
 * @param string $template_path Template path. (default: '').
 * @param string $default_path  Default path. (default: '').
 *
 * @return string
 */
function wc_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
    ob_start();
    wc_get_template( $template_name, $args, $template_path, $default_path );
    return ob_get_clean();
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php
 
    /**
     * Output the variable product add to cart area.
     */
    function woocommerce_variable_add_to_cart() {
        global $product;
 
        // Enqueue variation scripts.
        wp_enqueue_script( 'wc-add-to-cart-variation' );
 
        // Get Available variations?
        $get_variations = count( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );
 
        // Load the template.
        wc_get_template(
            'single-product/add-to-cart/variable.php',
            array(
                'available_variations' => $get_variations ? $product->get_available_variations() : false,
                'attributes'           => $product->get_variation_attributes(),
                'selected_attributes'  => $product->get_default_attributes(),
            )
        );
    }
}
if ( ! function_exists( 'woocommerce_external_add_to_cart' ) ) {
 
    /**
     * Output the external product add to cart area.
     */
    function woocommerce_external_add_to_cart() {
        global $product;
 
        if ( ! $product->add_to_cart_url() ) {
            return;
        }
 
        wc_get_template(
            'single-product/add-to-cart/external.php',
            array(
                'product_url' => $product->add_to_cart_url(),
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $hook_name ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Calls the callback functions that have been added to an action hook, specifying arguments in an array.
 *
 * @since 2.1.0
 *
 * @see do_action() This function is identical, but the arguments passed to the
 *                  functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_actions        Stores the number of times each action was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the action to be executed.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 */
function do_action_ref_array( $hook_name, $args ) {
/home/clients/cosavostra/prod/goldunion/wp-content/plugins/woocommerce/includes/wc-template-functions.php
    }
}
if ( ! function_exists( 'woocommerce_show_product_sale_flash' ) ) {
 
    /**
     * Output the product sale flash.
     */
    function woocommerce_show_product_sale_flash() {
        wc_get_template( 'single-product/sale-flash.php' );
    }
}
 
if ( ! function_exists( 'woocommerce_template_single_add_to_cart' ) ) {
 
    /**
     * Trigger the single product add to cart action.
     */
    function woocommerce_template_single_add_to_cart() {
        global $product;
        do_action( 'woocommerce_' . $product->get_type() . '_add_to_cart' );
    }
}
if ( ! function_exists( 'woocommerce_simple_add_to_cart' ) ) {
 
    /**
     * Output the simple product add to cart area.
     */
    function woocommerce_simple_add_to_cart() {
        wc_get_template( 'single-product/add-to-cart/simple.php' );
    }
}
if ( ! function_exists( 'woocommerce_grouped_add_to_cart' ) ) {
 
    /**
     * Output the grouped product add to cart area.
     */
    function woocommerce_grouped_add_to_cart() {
        global $product;
 
        $products = array_filter( array_map( 'wc_get_product', $product->get_children() ), 'wc_products_array_filter_visible_grouped' );
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $hook_name ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Calls the callback functions that have been added to an action hook, specifying arguments in an array.
 *
 * @since 2.1.0
 *
 * @see do_action() This function is identical, but the arguments passed to the
 *                  functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_actions        Stores the number of times each action was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the action to be executed.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 */
function do_action_ref_array( $hook_name, $args ) {
/home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/90d1cf9a137a5c61e3677bb688e9dd98bc5925ee.php
        <?php echo $productInfos['status']; ?>
 
        <?php echo $__env->make('components.ratings', ['rate' => $productInfos['product_rating']], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
      </div>
      <div class="summary entry-summary">
        <?php
          /**
           * Hook: woocommerce_single_product_summary.
           *
           * @hooked woocommerce_template_single_title - 5
           * @hooked woocommerce_template_single_rating - 10
           * @hooked woocommerce_template_single_price - 10
           * @hooked woocommerce_template_single_excerpt - 20
           * @hooked woocommerce_template_single_add_to_cart - 30
           * @hooked woocommerce_template_single_meta - 40
           * @hooked woocommerce_template_single_sharing - 50
           * @hooked WC_Structured_Data::generate_product_data() - 60
           */
 
          {{do_action( 'woocommerce_single_product_summary' );}}
        ?>
      </div>
      <?php echo e(do_action('woocommerce_after_single_product_summary')); ?>
 
      <?php
        /**
         * Hook: woocommerce_after_single_product_summary.
         *
         * @hooked woocommerce_output_product_data_tabs - 10
         * @hooked woocommerce_upsell_display - 15
         * @hooked woocommerce_output_related_products - 20
         */
      ?>
    </div>
    <div class="gu-product__right">
      <?php echo $testimonials; ?>
 
    </div>
  </div>
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/CompilerEngine.php
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    protected function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
/home/clients/cosavostra/prod/goldunion/wp-content/uploads/cache/c2e5451d15a439d5bbb55fb83e9ea1ca051d1e15.php
<?php $__env->startSection('content'); ?>
  <?php while(have_posts()): ?>
    <?php the_post() ?>
 
    <?php echo e(do_action( 'woocommerce_before_main_content')); ?>
 
 
    <?php echo $__env->make( 'woocommerce.content-single-product', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>;
 
    <?php echo do_action('woocommerce_after_main_content'); ?>
 
 
    <?php echo do_action('woocommerce_sidebar'); ?>
 
 
    <?php echo $flexibleContent2; ?>
 
    <?php echo $featuredProducts; ?>
 
    <?php echo $flexibleContent; ?>
 
  <?php endwhile; ?>
<?php $__env->stopSection(); ?>
 
 
 
<?php echo $__env->make('layouts.app', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/Engines/CompilerEngine.php
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    protected function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/vendor/roots/sage-lib/Template/Blade.php
    public function compiler()
    {
        static $engineResolver;
        if (!$engineResolver) {
            $engineResolver = $this->getContainer()->make('view.engine.resolver');
        }
        return $engineResolver->resolve('blade')->getCompiler();
    }
 
    /**
     * @param string $view
     * @param array  $data
     * @param array  $mergeData
     * @return string
     */
    public function render($view, $data = [], $mergeData = [])
    {
        /** @var \Illuminate\Contracts\Filesystem\Filesystem $filesystem */
        $filesystem = $this->getContainer()['files'];
        return $this->{$filesystem->exists($view) ? 'file' : 'make'}($view, $data, $mergeData)->render();
    }
 
    /**
     * @param string $file
     * @param array  $data
     * @param array  $mergeData
     * @return string
     */
    public function compiledPath($file, $data = [], $mergeData = [])
    {
        $rendered = $this->file($file, $data, $mergeData);
        /** @var EngineInterface $engine */
        $engine = $rendered->getEngine();
 
        if (!($engine instanceof CompilerEngine)) {
            // Using PhpEngine, so just return the file
            return $file;
        }
 
        $compiler = $engine->getCompiler();
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/helpers.php
 */
function config($key = null, $default = null)
{
    if (is_null($key)) {
        return sage('config');
    }
    if (is_array($key)) {
        return sage('config')->set($key);
    }
    return sage('config')->get($key, $default);
}
 
/**
 * @param string $file
 * @param array $data
 * @return string
 */
function template($file, $data = [])
{
    return sage('blade')->render($file, $data);
}
 
/**
 * Retrieve path to a compiled blade view
 * @param $file
 * @param array $data
 * @return string
 */
function template_path($file, $data = [])
{
    return sage('blade')->compiledPath($file, $data);
}
 
/**
 * @param $asset
 * @return string
 */
function asset_path($asset)
{
    return sage('assets')->getUri($asset);
/home/clients/cosavostra/prod/goldunion/wp-content/themes/goldunion/app/Core/Boot.php
                return get_stylesheet_directory() . '/index.php';
            }
 
            return $template;
        }
 
        foreach (array_merge(array_diff(get_body_class(), $templates), $templates) as $controller) {
            $controllerPath = dirname(__DIR__) . '/Controllers/' . camelCase($controller, true) . '.php';
            $controllerName = camelCase($controller, true);
            $controller = str_replace('"', '', '\App\Controllers\"' . $controllerName . '"');
            if (file_exists($controllerPath)) {
                $controllerContainer = $this->getContainer()->get($controller);
                $data = array_merge($data, call_user_func(
                    [$controllerContainer, 'execute'],
                    []
                ));
                if (property_exists($controllerContainer, 'view')) {
                    $template = $controllerContainer->view;
                }
                echo template($template, $data);
                return;
            }
        }
        echo template($template, $data);
        return get_stylesheet_directory() . '/index.php';
    }
 
    /**
     * @return mixed
     */
    public function getConfig()
    {
        return $this->config;
    }
}
 
/home/clients/cosavostra/prod/goldunion/wp-includes/class-wp-hook.php
 
        $nesting_level = $this->nesting_level++;
 
        $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
        $num_args                           = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
            $priority                                 = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 == $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        $this->nesting_level--;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
/home/clients/cosavostra/prod/goldunion/wp-includes/plugin.php
        $all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
        _wp_call_all_hook( $all_args );
    }
 
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return $value;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    // Pass the value to WP_Hook.
    array_unshift( $args, $value );
 
    $filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args );
 
    array_pop( $wp_current_filter );
 
    return $filtered;
}
 
/**
 * Calls the callback functions that have been added to a filter hook, specifying arguments in an array.
 *
 * @since 3.0.0
 *
 * @see apply_filters() This function is identical, but the arguments passed to the
 *                      functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_filters        Stores the number of times each filter was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the filter hook.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
/home/clients/cosavostra/prod/goldunion/wp-includes/template-loader.php
            if ( 'is_attachment' === $tag ) {
                remove_filter( 'the_content', 'prepend_attachment' );
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
/home/clients/cosavostra/prod/goldunion/wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
/home/clients/cosavostra/prod/goldunion/index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE nginx/1.14.2
REQUEST_URI /produit/enveloppe-scellee/
USER www
HOME /home/www
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
HTTP_CONNECTION close
HTTP_X_FORWARDED_PROTO https
HTTP_X_FORWARDED_FOR 3.239.59.31
HTTP_X_REAL_IP 3.239.59.31
HTTP_HOST goldunion.fr
REDIRECT_STATUS 200
SERVER_NAME goldunion.fr
SERVER_PORT 443
SERVER_ADDR 185.100.4.162
REMOTE_PORT
REMOTE_ADDR 3.239.59.31
GATEWAY_INTERFACE CGI/1.1
HTTPS on
REQUEST_SCHEME https
SERVER_PROTOCOL HTTP/1.0
DOCUMENT_ROOT /home/clients/cosavostra/prod/goldunion/
DOCUMENT_URI /index.php
SCRIPT_NAME /index.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING
SCRIPT_FILENAME /home/clients/cosavostra/prod/goldunion/index.php
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1695816859.4407
REQUEST_TIME 1695816859
empty
0. Whoops\Handler\PrettyPageHandler