File: //var/www/drakkar_site/wp-content/themes/blocksy/inc/dynamic-styles/global/woocommerce/archive.php
<?php
$shop_cards_type = blocksy_get_theme_mod('shop_cards_type', 'type-1');
$card_layout_default = [];
if (function_exists('blocksy_get_woo_archive_layout_defaults')) {
$card_layout_default = blocksy_get_woo_archive_layout_defaults();
}
$woo_card_layout = blocksy_get_theme_mod('woo_card_layout', $card_layout_default);
$woo_card_layout = blocksy_normalize_layout(
$woo_card_layout,
$card_layout_default
);
foreach ($woo_card_layout as $layer) {
if ( $layer['enabled'] ) {
$selectors_map = [
'product_image' => '[data-products] .product figure',
'product_title' => '[data-products] .product .woocommerce-loop-product__title',
'product_price' => '[data-products] .product .price',
'product_rating' => '[data-products] .product .ct-woo-card-rating',
// 'product_meta' => '[data-products] .product .entry-meta',
'product_desc' => '[data-products] .product .entry-excerpt',
'product_add_to_cart' => '[data-products] .product .ct-woo-card-actions',
'product_add_to_cart_and_price' => '[data-products] .product .ct-woo-card-actions',
'product_stock' => '[data-products] .product .ct-woo-card-stock',
// companion
'product_brands' => '[data-products] .product .ct-product-brands',
'product_swatches' => '[data-products] .product .ct-card-variation-swatches',
'content-block' => '[data-products] .product .ct-product-content-block',
'product_sku' => '[data-products] .product .ct-product-sku',
'product_stock_scarcity' => '[data-products] .product .ct-product-stock-scarcity',
];
if ($shop_cards_type === 'type-1') {
if ($layer['id'] === 'product_add_to_cart_and_price') {
continue;
}
}
if ($shop_cards_type === 'type-2') {
if (
$layer['id'] === 'product_add_to_cart'
||
$layer['id'] === 'product_price'
) {
continue;
}
}
if ($shop_cards_type === 'type-3') {
if ($layer['id'] === 'product_add_to_cart') {
continue;
}
}
$spacing_default = 10;
if (
$layer['id'] === 'product_image'
||
$layer['id'] === 'product_desc'
) {
$spacing_default = 25;
}
$spacing = blocksy_akg('spacing', $layer, $spacing_default);
if (
isset($selectors_map[$layer['id']])
&&
(
intval($spacing) !== $spacing_default
||
$spacing_default === 25
)
) {
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => $selectors_map[$layer['id']],
'variableName' => 'product-element-spacing',
'value' => $spacing
]);
}
if ($layer['id'] === 'product_brands') {
$brand_logo_size = blocksy_akg('brand_logo_size', $layer, 60);
if ($brand_logo_size !== 60) {
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => $selectors_map[$layer['id']],
'variableName' => 'product-brand-logo-size',
'value' => $brand_logo_size,
]);
}
$brand_logo_gap = blocksy_akg('brand_logo_gap', $layer, 10);
if ($brand_logo_gap !== 10) {
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => $selectors_map[$layer['id']],
'variableName' => 'product-brands-gap',
'value' => $brand_logo_gap,
]);
}
}
if ($layer['id'] === 'product_meta') {
$id = isset($layer["__id"]) ? $layer["__id"] : 'default';
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product .entry-meta[data-id="' . $id . '"]',
'variableName' => 'product-element-spacing',
'value' => $spacing,
'unit' => 'px'
]);
}
if ($layer['id'] === 'content-block') {
$id = isset($layer["__id"]) ? $layer["__id"] : 'default';
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product .ct-product-content-block[data-id="' . $id . '"]',
'variableName' => 'product-element-spacing',
'value' => $spacing,
'unit' => 'px'
]);
}
if (in_array(
$layer['id'],
[
'acf_field',
'metabox_field',
'toolset_field',
'jetengine_field',
'custom_field',
'pods_field',
]
)) {
$id = substr(isset($layer["__id"]) ? $layer["__id"] : 'default', 0, 6);
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product .ct-dynamic-data-layer[data-field*=":' . $id . '"]',
'variableName' => 'product-element-spacing',
'value' => $spacing,
'unit' => 'px'
]);
}
}
}
// archive columns
$shop_columns = blocksy_get_theme_mod('blocksy_woo_columns', [
'desktop' => 4,
'tablet' => 3,
'mobile' => 1,
]);
$shop_columns = blocksy_expand_responsive_value($shop_columns);
$shop_columns['desktop'] = get_option('woocommerce_catalog_columns', 4);
$shop_columns['desktop'] = 'CT_CSS_SKIP_RULE';
$shop_columns['tablet'] = 'repeat(' . $shop_columns['tablet'] . ', minmax(0, 1fr))';
$shop_columns['mobile'] = 'repeat(' . $shop_columns['mobile'] . ', minmax(0, 1fr))';
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products]',
'variableName' => 'shop-columns',
'value' => $shop_columns,
'unit' => ''
]);
// archive columns & rows gap
$shop_columns_gap = blocksy_get_theme_mod('shopCardsGap', 30);
if ($shop_columns_gap !== 30) {
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products]',
'variableName' => 'grid-columns-gap',
'value' => $shop_columns_gap,
'unit' => '',
'previousUnit' => 'px'
]);
}
$shop_rows_gap = blocksy_get_theme_mod('shopCardsRowGap', 30);
if ($shop_rows_gap !== 30) {
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products]',
'variableName' => 'grid-rows-gap',
'value' => $shop_rows_gap,
'unit' => '',
'previousUnit' => 'px'
]);
}
// border radius
blocksy_output_spacing([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product',
'property' => 'theme-border-radius',
'value' => blocksy_get_theme_mod( 'cardProductRadius',
blocksy_spacing_value()
),
'empty_value' => 3,
]);
// product title
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'cardProductTitleFont',
blocksy_typography_default_values([
'size' => '17px',
'variation' => 'n6',
])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .woocommerce-loop-product__title, [data-products] .woocommerce-loop-category__title'
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductTitleColor'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
'hover' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .woocommerce-loop-product__title, [data-products] .woocommerce-loop-category__title',
'variable' => 'theme-heading-color'
],
'hover' => [
'selector' => '[data-products] .woocommerce-loop-product__title, [data-products] .woocommerce-loop-category__title',
'variable' => 'theme-link-hover-color'
],
],
]);
// product excerpt
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'cardProductExcerptFont',
blocksy_typography_default_values([])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .entry-excerpt'
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductExcerptColor'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .entry-excerpt',
'variable' => 'theme-text-color'
],
],
]);
// product price
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'cardProductPriceFont',
blocksy_typography_default_values([
'variation' => 'n6',
])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product .price'
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductPriceColor'),
'default' => [
'default' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ]
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .product .price',
'variable' => 'theme-text-color'
],
],
]);
// product SKU
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'cardProductSkuFont',
blocksy_typography_default_values([])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .ct-product-sku'
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductSkuColor'),
'default' => [
'default' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ]
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .ct-product-sku',
'variable' => 'theme-text-color'
],
],
]);
// star rating
blocksy_output_colors([
'value' => blocksy_get_theme_mod('starRatingColor'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
'inactive' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'variables' => [
'default' => [
'selector' => ':root',
'variable' => 'star-rating-initial-color'
],
'inactive' => [
'selector' => ':root',
'variable' => 'star-rating-inactive-color'
],
],
]);
// product stock
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'cardProductStockFont',
blocksy_typography_default_values([
'size' => '15px',
])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .ct-woo-card-stock'
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductStockColor'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .ct-woo-card-stock',
'variable' => 'theme-text-color'
],
],
]);
// categories/meta
blocksy_output_font_css([
'font_value' => blocksy_get_theme_mod(
'card_product_categories_font',
blocksy_typography_default_values([
'size' => [
'desktop' => '12px',
'tablet' => '12px',
'mobile' => '12px'
],
'variation' => 'n6',
'text-transform' => 'uppercase',
])
),
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .entry-meta',
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductCategoriesColor'),
'default' => [
'default' => [ 'color' => 'var(--theme-text-color)' ],
'hover' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] .entry-meta',
'variable' => 'theme-link-initial-color'
],
'hover' => [
'selector' => '[data-products] .entry-meta',
'variable' => 'theme-link-hover-color'
],
],
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('card_product_categories_button_type_font_colors'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
'hover' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] [data-type="pill"]',
'variable' => 'theme-button-text-initial-color'
],
'hover' => [
'selector' => '[data-products] [data-type="pill"]',
'variable' => 'theme-button-text-hover-color'
],
],
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('card_product_categories_button_type_background_colors'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
'hover' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products] [data-type="pill"]',
'variable' => 'theme-button-background-initial-color'
],
'hover' => [
'selector' => '[data-products] [data-type="pill"]',
'variable' => 'theme-button-background-hover-color'
],
],
]);
// archive background
blocksy_output_background_css([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'selector' => '[data-prefix="woo_categories"]',
'value' => blocksy_get_theme_mod('shop_archive_background',
blocksy_background_default_value([
'backgroundColor' => [
'default' => [
'color' => Blocksy_Css_Injector::get_skip_rule_keyword()
],
],
])
),
'responsive' => true,
]);
// cards type 1
if ($shop_cards_type === 'type-1') {
// button color
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductButton1Text'),
'default' => [
'default' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT')],
'hover' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT')],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products="type-1"]',
'variable' => 'theme-button-text-initial-color'
],
'hover' => [
'selector' => '[data-products="type-1"]',
'variable' => 'theme-button-text-hover-color'
],
],
]);
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductButtonBackground'),
'default' => [
'default' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT')],
'hover' => ['color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT')],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products="type-1"]',
'variable' => 'theme-button-background-initial-color'
],
'hover' => [
'selector' => '[data-products="type-1"]',
'variable' => 'theme-button-background-hover-color'
],
],
]);
}
// cards type 2
if ($shop_cards_type === 'type-2') {
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductButton2Text'),
'default' => [
'default' => ['color' => 'var(--theme-text-color)'],
'hover' => ['color' => 'var(--theme-link-hover-color)'],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products="type-2"] .ct-woo-card-actions',
'variable' => 'theme-button-text-initial-color'
],
'hover' => [
'selector' => '[data-products="type-2"] .ct-woo-card-actions',
'variable' => 'theme-button-text-hover-color'
],
],
]);
// card background
blocksy_output_colors([
'value' => blocksy_get_theme_mod('cardProductBackground'),
'default' => [
'default' => [ 'color' => Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT') ],
],
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'responsive' => true,
'variables' => [
'default' => [
'selector' => '[data-products="type-2"]',
'variable' => 'backgroundColor'
],
],
]);
// box shadow
blocksy_output_box_shadow([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products="type-2"]',
'value' => blocksy_get_theme_mod('cardProductShadow', blocksy_box_shadow_value([
'enable' => true,
'h_offset' => 0,
'v_offset' => 12,
'blur' => 18,
'spread' => -6,
'inset' => false,
'color' => [
'color' => 'rgba(34, 56, 101, 0.03)',
],
])),
'responsive' => true
]);
blocksy_output_border([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products="type-2"]',
'variableName' => 'card-border',
'value' => blocksy_get_theme_mod('cardProductBorder'),
'default' => [
'width' => 1,
'style' => 'none',
'color' => [
'color' => 'rgba(0, 0, 0, 0.05)',
],
],
'responsive' => true,
'skip_none' => true
]);
}
// csrds type 1 and type 3
if ($shop_cards_type !== 'type-2') {
// alignment
$shop_cards_alignment = blocksy_get_theme_mod('shop_cards_alignment', 'CT_CSS_SKIP_RULE');
$text_shop_cards_alignment = $shop_cards_alignment;
$text_shop_cards_alignment = blocksy_map_values([
'value' => $shop_cards_alignment,
'map' => [
'flex-start' => 'start',
'flex-end' => 'end'
]
]);
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product',
'variableName' => 'horizontal-alignment',
'value' => $shop_cards_alignment,
'unit' => '',
]);
blocksy_output_responsive([
'css' => $css,
'tablet_css' => $tablet_css,
'mobile_css' => $mobile_css,
'selector' => '[data-products] .product',
'variableName' => 'text-horizontal-alignment',
'value' => $text_shop_cards_alignment,
'unit' => '',
]);
}