Astra_Woocommerce::single_product_content_structure( string $product_type = '' )
Show the product title in the product loop. By default this is an H2.
Description
Parameters
- $product_type
-
(string) (Optional) product type.
Default value: ''
Source
File: inc/compatibility/woocommerce/class-astra-woocommerce.php
public function single_product_content_structure( $product_type = '' ) {
/** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
$single_structure = apply_filters( 'astra_woo_single_product_structure', astra_get_option( 'single-product-structure' ), $product_type );
if ( is_array( $single_structure ) && ! empty( $single_structure ) ) {
// @codingStandardsIgnoreStart
/**
* @psalm-suppress UndefinedClass
* @psalm-suppress InvalidScalarArgument
*/
$astra_addons_condition = astra_has_pro_woocommerce_addon();
// @codingStandardsIgnoreEnd
foreach ( $single_structure as $value ) {
switch ( $value ) {
case 'title':
/**
* Add Product Title on single product page for all products.
*/
do_action( 'astra_woo_single_title_before' );
$this->astra_woo_woocommerce_template_product_title( $product_type );
do_action( 'astra_woo_single_title_after' );
break;
case 'price':
/**
* Add Product Price on single product page for all products.
*/
do_action( 'astra_woo_single_price_before' );
woocommerce_template_single_price();
do_action( 'astra_woo_single_price_after' );
break;
case 'ratings':
/**
* Add rating on single product page for all products.
*/
do_action( 'astra_woo_single_rating_before' );
woocommerce_template_single_rating();
do_action( 'astra_woo_single_rating_after' );
break;
case 'short_desc':
do_action( 'astra_woo_single_short_description_before' );
woocommerce_template_single_excerpt();
do_action( 'astra_woo_single_short_description_after' );
break;
case 'add_cart':
do_action( 'astra_woo_single_add_to_cart_before' );
woocommerce_template_single_add_to_cart();
do_action( 'astra_woo_single_add_to_cart_after' );
break;
case 'summary-extras':
/** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
if ( $astra_addons_condition && is_callable( array( ASTRA_Ext_WooCommerce_Markup::get_instance(), 'single_product_extras' ) ) ) {
/** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
do_action( 'astra_woo_single_extras_before' );
ASTRA_Ext_WooCommerce_Markup::get_instance()->single_product_extras();
do_action( 'astra_woo_single_extras_after' );
}
break;
case 'single-product-payments':
/** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
/** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
do_action( 'astra_woo_single_product_payments_before' );
$this->woocommerce_product_single_payments();
do_action( 'astra_woo_single_product_payments_after' );
break;
case 'meta':
do_action( 'astra_woo_single_category_before' );
woocommerce_template_single_meta();
do_action( 'astra_woo_single_category_after' );
break;
case 'category':
do_action( 'astra_woo_single_product_category_before' );
$this->single_product_category();
do_action( 'astra_woo_single_product_category_after' );
break;
default:
break;
}
}
// Product single tabs accordion.
if ( $astra_addons_condition && astra_get_option( 'accordion-inside-woo-summary' ) && 'accordion' === astra_get_option( 'single-product-tabs-layout' ) && astra_get_option( 'single-product-tabs-display' ) ) {
/** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
ASTRA_Ext_WooCommerce_Markup::get_instance()->woo_product_tabs_layout_output();
}
}
}
Expand full source code Collapse full source code View on Trac