217 lines
4.7 KiB
PHP
217 lines
4.7 KiB
PHP
<?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])));
|
|
}
|
|
}
|