<?php
function blocksy_main_attr() {
$attrs = [
'id' => 'main',
'class' => 'site-main'
];
if (blocksy_has_schema_org_markup()) {
$attrs['class'] .= ' hfeed';
}
return blocksy_attr_to_html(array_merge(
apply_filters('blocksy:main:attr', $attrs),
blocksy_schema_org_definitions('creative_work', [
'array' => true
]))
);
}
add_filter('body_class', function ($classes) {
// if (blocksy_get_theme_mod('has_passepartout', 'no') === 'yes') {
// $classes[] = 'ct-passepartout';
// };
// $classes[] = 'ct-loading';
if (! $classes || ! is_array($classes)) {
$classes = [];
}
if (function_exists('is_product_category')) {
if (is_product_category() || is_product_tag()) {
$classes[] = 'woocommerce-archive';
}
}
if (in_array('elementor-default', $classes)) {
$current_template = blocksy_manager()->get_current_template();
if (
strpos($current_template, 'elementor') !== false
&&
is_singular()
&&
class_exists('\ElementorPro\Modules\ThemeBuilder\Module')
) {
$location_documents = \ElementorPro\Modules\ThemeBuilder\Module::instance()
->get_conditions_manager()
->get_documents_for_location(
'single'
);
$first_key = key($location_documents);
if (! empty($location_documents)) {
$theme_document = $location_documents[$first_key];
$document_page_template = $theme_document->get_settings('page_template');
if (empty($document_page_template)) {
$classes[] = 'ct-elementor-default-template';
}
}
} else {
if (
! in_array('elementor-template-canvas', $classes)
&&
! in_array('elementor-template-full-width', $classes)
) {
$classes[] = 'ct-elementor-default-template';
}
}
}
return $classes;
}, 999999);
if (! function_exists('blocksy_html_attr')) {
function blocksy_html_attr() {
$attrs = [];
$attrs = apply_filters('blocksy:general:html-attr', $attrs);
if (empty($attrs)) {
return '';
}
return ' ' . blocksy_attr_to_html($attrs);
}
}
if (! function_exists('blocksy_body_attr')) {
function blocksy_body_attr() {
$attrs = [];
if (blocksy_get_theme_mod('has_passepartout', 'no') === 'yes') {
$attrs['data-frame'] = 'default';
};
$attrs['data-prefix'] = esc_attr(blocksy_manager()->screen->get_prefix() . blocksy_manager()->screen->get_prefix_addition());
if (is_customize_preview()) {
$prefix_custom = [];
if (is_singular()) {
$atts = blocksy_get_post_options();
$maybe_hero_strategy = blocksy_get_page_title_source();
if (
$maybe_hero_strategy
&&
$maybe_hero_strategy['strategy'] !== 'customizer'
) {
$prefix_custom[] = 'hero';
}
$default_page_structure = blocksy_default_akg(
'page_structure_type',
$atts,
'default'
);
if ($default_page_structure !== 'default') {
$prefix_custom[] = 'single-structure';
}
$default_content_style = blocksy_default_akg(
'content_style_source',
$atts,
'inherit'
);
if ($default_content_style !== 'inherit') {
$prefix_custom[] = 'content-style';
}
$vertical_spacing_source = blocksy_default_akg(
'vertical_spacing_source',
$atts,
'inherit'
);
if ($vertical_spacing_source !== 'inherit') {
$prefix_custom[] = 'vertical-spacing';
}
}
if (! empty($prefix_custom)) {
$attrs['data-prefix-custom'] = implode(':', $prefix_custom);
}
}
global $blocksy_has_default_header;
if ($blocksy_has_default_header) {
$attrs['data-header'] = apply_filters(
'blocksy:general:body-header-attr',
substr(str_replace(
'ct-custom-',
'',
blocksy_manager()->header_builder->get_current_section_id()
), 0, 6)
);
}
if (blocksy_manager()->footer_builder->enabled_on_this_page()) {
$attrs['data-footer'] = substr(str_replace(
'ct-custom-',
'',
blocksy_manager()->footer_builder->get_current_section_id()
), 0, 6);
}
$footer_render = new Blocksy_Footer_Builder_Render();
$footer_atts = $footer_render->get_current_section()['settings'];
$reveal_result = [];
if (blocksy_default_akg(
'has_reveal_effect/desktop',
$footer_atts,
false
)) {
$reveal_result[] = 'desktop';
}
if (blocksy_default_akg(
'has_reveal_effect/tablet',
$footer_atts,
false
)) {
$reveal_result[] = 'tablet';
}
if (blocksy_default_akg(
'has_reveal_effect/mobile',
$footer_atts,
false
)) {
$reveal_result[] = 'mobile';
}
if (count($reveal_result) > 0 && isset($attrs['data-footer'])) {
$attrs['data-footer'] .= ':reveal';
}
$attrs = apply_filters('blocksy:general:body-attr', $attrs);
return blocksy_attr_to_html(array_merge([
'data-link' => blocksy_get_theme_mod('content_link_type', 'type-2'),
], $attrs, blocksy_schema_org_definitions('single', ['array' => true])));
}
}
|