Astra_Woocommerce::single_product_sticky_add_to_cart()
Single product sticky add to cart.
Description
Return
(void)
Source
File: inc/compatibility/woocommerce/class-astra-woocommerce.php
public function single_product_sticky_add_to_cart() {
if ( is_product() && astra_get_option( 'single-product-sticky-add-to-cart' ) ) {
/** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
global $post;
$product = wc_get_product( $post->ID );
$sticky_position = astra_get_option( 'single-product-sticky-add-to-cart-position' );
$add_to_cart_ajax = astra_get_option( 'single-product-ajax-add-to-cart' );
// @codingStandardsIgnoreStart
/**
* @psalm-suppress PossiblyNullReference
* @psalm-suppress PossiblyFalseReference
*/
if ( ( $product->is_purchasable() && ( $product->is_in_stock() || $product->backorders_allowed() ) ) || $product->is_type( 'external' ) ) {
// @codingStandardsIgnoreEnd
echo '<div class="ast-sticky-add-to-cart ' . esc_attr( $sticky_position ) . '">';
echo '<div class="ast-container">';
echo '<div class="ast-sticky-add-to-cart-content">';
echo '<div class="ast-sticky-add-to-cart-title-wrap">';
echo wp_kses_post( woocommerce_get_product_thumbnail() );
echo '<span class="ast-sticky-add-to-cart-title">' . wp_kses_post( get_the_title() ) . '</span>';
echo '</div>';
echo '<div class="ast-sticky-add-to-cart-action-wrap">';
// @codingStandardsIgnoreStart
/**
* @psalm-suppress PossiblyNullReference
* @psalm-suppress PossiblyFalseReference
*/
if ( $product->is_type( 'simple' ) || $product->is_type( 'external' ) || $product->is_type( 'subscription' ) ) {
// @codingStandardsIgnoreEnd
/** @psalm-suppress PossiblyFalseReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
echo '<span class="ast-sticky-add-to-cart-action-price price">' . wp_kses_post( $product->get_price_html() ) . '</span>';
/** @psalm-suppress PossiblyFalseReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
if ( $add_to_cart_ajax ) {
echo '<div id="sticky-add-to-cart">';
}
woocommerce_template_single_add_to_cart();
if ( $add_to_cart_ajax ) {
echo '</div>';
}
} else {
/** @psalm-suppress PossiblyNullReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
echo '<span class="ast-sticky-add-to-cart-action-price price">' . wp_kses_post( $product->get_price_html() ) . '</span>';
/** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
echo '<a href="#product-' . esc_attr( $product->get_ID() ) . '" class="single_link_to_cart_button button alt">' . esc_html( $product->add_to_cart_text() ) . '</a>';
/** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
}
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
}
}
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 3.9.0 | Introduced. |