plate ID
*
* @param boolean $head
* @return int|void
*/
public static function get_template_id($head = \false)
{
if (self::$template_id) {
// Return if the template doesn't exists
if ('publish' !== get_post_status(self::$template_id)) {
return;
}
return self::$template_id;
}
$dce_template = 0;
// Check if we're inside the main loop in a single post page.
if (in_the_loop() && is_main_query() || $head) {
global $post;
$cptype = \false;
if ($post) {
$cptype = $post->post_type;
$cptaxonomy = get_post_taxonomies($post->ID);
}
$dce_default_template = '';
$template_page = '';
// ciclo i termini e ne ricavo l'id del template
$taxonomyesRegistered = get_taxonomies(array('public' => \true));
if ($cptype && !\in_array($cptype, self::$supported_types)) {
// SINGULAR
if (is_singular()) {
$custom_template = \false;
// 1 - se nella pagina il metabox template è impostato diversamente da "default"
$datopagina = get_post_meta(get_the_ID(), 'dyncontel_elementor_templates', \true);
if ($datopagina) {
if ($datopagina > 1) {
$dce_default_template = $datopagina;
$dce_template = $dce_default_template;
$custom_template = \true;
} else {
$custom_template = \true;
}
}
// 2 - se esiste un template associato a un termine associato
if (!$custom_template) {
// leggo le taxonomy del post (I)
foreach ($cptaxonomy as $chiave) {
// leggo il temine del post (II)
$terms_list_of_post = wp_get_post_terms(get_the_ID(), $chiave, array('fields' => 'all'));
if (\count($terms_list_of_post) > 0) {
foreach ($terms_list_of_post as $term_single) {
$dce_default_template = get_term_meta($term_single->term_id, 'dynamic_content_single', \true);
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
$custom_template = \true;
}
}
}
}
}
}
// 3 - se esiste un template associato alla tassonomia collegata
if (!$custom_template) {
foreach ($cptaxonomy as $aTaxo) {
if (isset(self::$options['dyncontel_field_single_taxonomy_' . $aTaxo]) && is_taxonomy_hierarchical($aTaxo)) {
// leggo il temine del post (II)
$terms_list_of_post = wp_get_post_terms(get_the_ID(), $aTaxo, array('fields' => 'all'));
if (\count($terms_list_of_post) > 0) {
$dce_default_template = self::$options['dyncontel_field_single_taxonomy_' . $aTaxo];
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
$custom_template = \true;
}
}
}
}
}
}
// 4 - se esiste un template associato al post type
if (!$custom_template && isset(self::$options['dyncontel_field_single' . $cptype])) {
// altrimenti il dato è prelevato dai settings di "DynamicaContent"
$dce_default_template = self::$options['dyncontel_field_single' . $cptype];
if (!empty($dce_default_template)) {
if ($cptype != 'product' || !Helper::is_woocommerce_active()) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
$custom_template = \true;
}
}
}
}
}
// ------ ENTRY o archive Blocks --------------
if (is_archive() || is_home()) {
if (!is_author()) {
// 4 - Type
if (!empty(self::$options['dyncontel_field_archive' . $cptype])) {
$dce_default_template = self::$options['dyncontel_field_archive' . $cptype];
}
if (!is_post_type_archive() && !is_home()) {
// qui sono nell'archivio del termine
// 3 - Taxonomy
foreach ($cptaxonomy as $chiave) {
// 3 - Taxonomy
if (isset(self::$options['dyncontel_field_archive_taxonomy_' . $chiave])) {
$dce_default_template_taxo = self::$options['dyncontel_field_archive_taxonomy_' . $chiave];
if (!empty($dce_default_template_taxo) && $dce_default_template_taxo > 0) {
$dce_default_template = $dce_default_template_taxo;
}
}
}
if (is_tax() || is_category() || is_tag()) {
$termine_id = get_queried_object()->term_id;
$chiave = get_queried_object()->taxonomy;
if (\in_array($chiave, $cptaxonomy)) {
// 3 bis - Taxonomy Current
if (isset(self::$options['dyncontel_field_archive_taxonomy_' . $chiave])) {
$dce_default_template_taxo = self::$options['dyncontel_field_archive_taxonomy_' . $chiave];
if (!empty($dce_default_template_taxo) && $dce_default_template_taxo > 0) {
$dce_default_template = $dce_default_template_taxo;
}
}
}
// 2 - Termine
$dce_default_template_term = get_term_meta($termine_id, 'dynamic_content_block', \true);
if (!empty($dce_default_template_term) && $dce_default_template_term > 1) {
$dce_default_template = $dce_default_template_term;
}
}
} else {
// qui sono nella home page dell'archivio
foreach ($cptaxonomy as $chiave) {
// 3 - Tayonomy
if (isset(self::$options['dyncontel_field_archive_taxonomy_' . $chiave])) {
$dce_default_template_taxo = self::$options['dyncontel_field_archive_taxonomy_' . $chiave];
if (!empty($dce_default_template_taxo) && $dce_default_template_taxo > 0) {
$dce_default_template = $dce_default_template_taxo;
}
}
}
foreach ($cptaxonomy as $chiave) {
// 2 - Termine
$terms_list_of_post = wp_get_post_terms(get_the_ID(), $chiave, array('fields' => 'all'));
if (\count($terms_list_of_post) > 0) {
foreach ($terms_list_of_post as $term_single) {
if ($term_single->taxonomy != 'post_format') {
$dce_default_template_term = get_term_meta($term_single->term_id, 'dynamic_content_block', \true);
}
if (!empty($dce_default_template_term) && $dce_default_template_term > 1) {
$dce_default_template = $dce_default_template_term;
}
}
}
}
}
// > conclusione
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
}
}
}
}
if (is_attachment() && isset(self::$options['dyncontel_field_singleattachment'])) {
$dce_default_template = self::$options['dyncontel_field_singleattachment'];
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
}
}
}
if (is_author() && isset(self::$options['dyncontel_field_archiveuser'])) {
$dce_default_template = self::$options['dyncontel_field_archiveuser'];
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
}
}
}
if (is_search() && isset(self::$options['dyncontel_field_archivesearch'])) {
$dce_default_template = self::$options['dyncontel_field_archivesearch'];
if (!empty($dce_default_template)) {
if ($dce_default_template > 1) {
$dce_template = $dce_default_template;
}
}
}
}
}
self::$template_id = Helper::wpml_translate_object_id($dce_template);
return $dce_template;
}
public static function get_template($template_id, $inline_css = \false)
{
if (!$template_id) {
return;
}
// Return if the template doesn't exists
if ('publish' !== get_post_status($template_id)) {
return;
}
// If WPML is active, retrieve the translation of the current template
$template_id = Helper::wpml_translate_object_id($template_id);
$template_id = \intval($template_id);
$doc = \Elementor\Plugin::$instance->documents->get($template_id);
if ($doc && $doc->is_built_with_elementor()) {
$template_page = \Elementor\Plugin::instance()->frontend->get_builder_content($template_id, $inline_css);
$template_page = self::css_class_fix($template_page, $template_id);
return $template_page;
} else {
$post_n = get_post($template_id);
$content_n = apply_filters('the_content', $post_n->post_content);
echo $content_n;
return;
}
}
/**
* Add Data Attributes to fix issue for templates in a loop
*
* @param \Elementor\Element_Base $element
* @return void
*/
public function add_dce_background_data_attributes(\Elementor\Element_Base $element)
{
// Background Color
$background_color = $element->get_settings_for_display('background_color');
if (!empty($background_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-background-color', $background_color, \true);
}
$background_hover_color = $element->get_settings_for_display('background_hover_color');
if (!empty($background_hover_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-background-hover-color', $background_hover_color, \true);
}
$background_overlay_color = $element->get_settings_for_display('background_overlay_color');
if (!empty($background_overlay_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-background-overlay-color', $background_overlay_color, \true);
}
$background_overlay_hover_color = $element->get_settings_for_display('background_overlay_hover_color');
if (!empty($background_overlay_hover_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-background-overlay-hover-color', $background_overlay_hover_color, \true);
}
// Background Image URL
$background_image = $element->get_settings_for_display('background_image');
if (!empty($background_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-background-image-url', $background_image['url'], \true);
}
$background_hover_image = $element->get_settings_for_display('background_hover_image');
if (!empty($background_hover_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-background-hover-image-url', $background_hover_image['url'], \true);
}
$background_overlay_image = $element->get_settings_for_display('background_overlay_image');
if (!empty($background_overlay_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-background-overlay-image-url', $background_overlay_image['url'], \true);
}
$background_overlay_hover_image = $element->get_settings_for_display('background_overlay_hover_image');
if (!empty($background_overlay_hover_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-background-overlay-hover-image-url', $background_overlay_hover_image['url'], \true);
}
// Background Color on Advanced
$advanced_background_color = $element->get_settings_for_display('_background_color');
if (!empty($advanced_background_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-advanced-background-color', $advanced_background_color, \true);
}
$advanced_background_hover_color = $element->get_settings_for_display('_background_hover_color');
if (!empty($advanced_background_hover_color)) {
$element->add_render_attribute('_wrapper', 'data-dce-advanced-background-hover-color', $advanced_background_hover_color, \true);
}
// Background Image on Advanced
$advanced_background_image = $element->get_settings_for_display('_background_image');
if (!empty($advanced_background_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-advanced-background-image-url', $advanced_background_image['url'], \true);
}
$advanced_background_hover_image = $element->get_settings_for_display('background_hover_image');
if (!empty($advanced_background_hover_image['url'])) {
$element->add_render_attribute('_wrapper', 'data-dce-advanced-background-hover-image-url', $advanced_background_hover_image['url'], \true);
}
}
/**
* CSS Class Fix
*
* @param string $content
* @param int $template_id
* @return string
*/
public static function css_class_fix(string $content = '', int $template_id = 0)
{
if (empty($content)) {
return $content;
}
$template_html_id = Helper::get_template_id_by_html($content);
if ($template_id && $template_id !== $template_html_id) {
$content = \str_replace('class="elementor elementor-' . $template_html_id . ' ', 'class="elementor elementor-' . $template_id . ' ', $content);
} else {
$template_id = $template_html_id;
}
if ($template_id) {
$queried_object = get_queried_object();
$queried_object_id = get_queried_object_id();
$queried_object_type = Helper::get_queried_object_type();
if ('post' === $queried_object_type) {
$queried_object_id = get_the_ID();
}
if (Helper::is_acfpro_active()) {
$row = acf_get_loop('active');
if ($row) {
$queried_object_type = 'row';
$queried_object_id = get_row_index();
}
}
$content = \str_replace('class="elementor elementor-' . $template_id . ' ', 'class="elementor elementor-' . $template_id . ' dce-elementor-' . $queried_object_type . '-' . $queried_object_id . ' ', $content);
$content = \str_replace('class="elementor elementor-' . $template_id . '"', 'class="elementor elementor-' . $template_id . ' dce-elementor-' . $queried_object_type . '-' . $queried_object_id . '"', $content);
$pieces = \explode('data-elementor-id="', $content, 2);
foreach ($pieces as $pkey => $apiece) {
if ($pkey) {
list($eid, $more) = \explode('"', $apiece, 2);
$new_content .= 'data-elementor-id="' . $eid . '" data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-obj-id="' . $queried_object_id . '"' . $more;
} else {
$new_content = $apiece;
}
}
$content = $new_content;
$content = \str_replace('data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-' . $queried_object_type . '-id="' . $queried_object_id . '"', 'data-' . $queried_object_type . '-id="' . $queried_object_id . '"', $content);
$content = \str_replace('data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-' . $queried_object_type . '-id="', 'data-' . $queried_object_type . '-id="', $content);
$content = \str_replace('data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-obj-id="' . $queried_object_id . '" data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-obj-id="' . $queried_object_id . '"', 'data-' . $queried_object_type . '-id="' . $queried_object_id . '" data-obj-id="' . $queried_object_id . '"', $content);
}
return $content;
}
/**
* Fix Style
*
* Change Selector to fix background images in a loop
*
* @param \Elementor\Element_Base $element
* @return void
*/
public function fix_style(\Elementor\Element_Base $element)
{
$settings = $element->get_settings_for_display();
if (empty($settings['__dynamic__'])) {
return;
}
$css = '';
$element_id = $element->get_id();
$element_controls = $element->get_controls();
$queried_object_type = Helper::get_queried_object_type();
$queried_object_id = get_queried_object_id();
if (Helper::is_acfpro_active()) {
$row = acf_get_loop('active');
if ($row) {
$queried_object_type = 'row';
$queried_object_id = get_row_index();
}
}
foreach ($settings['__dynamic__'] as $key => $dsetting) {
$tmp = \explode('_', $key);
$device_detected = \array_pop($tmp);
if (\in_array($device_detected, ['tablet', 'mobile'], \true)) {
$devices = [$device_detected => $key];
} else {
$devices = ['desktop' => $key];
}
foreach ($devices as $device => $setting_key) {
$selector = '.dce-fix-background-loop .dce-elementor-' . $queried_object_type . '-' . $queried_object_id;
if ('desktop' !== $device) {
$selector = '[data-elementor-device-mode="' . $device . '"] ' . $selector;
}
if (isset($element_controls[$setting_key])) {
if (!empty($element_controls[$key]['selectors'])) {
foreach ($element_controls[$key]['selectors'] as $skey => $svalue) {
$rule_value = \false;
$rule_selector = \str_replace('{{WRAPPER}}', $selector . ' .elementor-element.elementor-element-' . $element_id, $skey);
if (!empty($settings[$setting_key])) {
if (\is_array($settings[$setting_key])) {
if (!empty($settings[$setting_key]['url'])) {
$rule_value = \str_replace('{{URL}}', $settings[$setting_key]['url'], $svalue);
}
} else {
$rule_value = \str_replace('{{VALUE}}', $settings[$setting_key], $svalue);
}
}
if ($rule_value) {
$css .= $rule_selector . '{' . $rule_value . '}';
}
}
}
}
}
}
if ($css) {
$css = '';
if (!wp_doing_ajax()) {
$css = \DynamicContentForElementor\Assets::dce_enqueue_style('template-fix-' . $element->get_id() . '-inline', $css);
}
echo $css;
}
}
/**
* Retrieve all Custom Post Types
*
* @return array
*/
public static function get_registered_types()
{
$types_registered = get_post_types(['public' => \true], 'names', 'and');
$types_excluded = self::$supported_types;
return \array_diff($types_registered, $types_excluded);
}
}
Fatal error: Uncaught Error: Class 'DynamicContentForElementor\TemplateSystem' not found in /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php:166
Stack trace:
#0 /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php(128): DynamicContentForElementor\Plugin->init_managers()
#1 /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php(95): DynamicContentForElementor\Plugin->init()
#2 /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php(122): DynamicContentForElementor\Plugin->__construct()
#3 /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php(259): DynamicContentForElementor\Plugin::instance()
#4 /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/dynamic-content-for-elementor.php(200): require_once('/home/sportuga/...')
#5 /home/sportuga/public_html/wp-includes/class-wp-hook.php(324): dce_load('')
#6 /home/spo in /home/sportuga/public_html/wp-content/plugins/dynamic-content-for-elementor/core/plugin.php on line 166