false, 'archive_intro' => true, 'toc_title' => false, 'author_label' => false, 'cta_heading' => false, 'cta_text' => true, 'cta_button' => false, 'cta_url' => false, ]; } // Polylang: list the texts in Languages → Translations. // (WPML finds them through wpml-config.xml.) add_action('admin_init', function () { if (!function_exists('pll_register_string')) { return; } $saved = get_option('sahcs_settings', []); foreach (sahcs_translatable_settings() as $key => $multiline) { if (!empty($saved[$key]) && is_string($saved[$key])) { pll_register_string('sahcs_' . $key, $saved[$key], 'SiteAuditHub Case Studies', $multiline); } } }); /** Polylang: the visitor sees the translated Settings texts. */ function sahcs_translate_settings($settings) { if (!function_exists('pll__') || (is_admin() && !wp_doing_ajax())) { return $settings; } foreach (array_keys(sahcs_translatable_settings()) as $key) { if (!empty($settings[$key]) && is_string($settings[$key])) { $settings[$key] = pll__($settings[$key]); } } return $settings; } /* ------------------------------------------------------------------ * Page builders * ---------------------------------------------------------------- */ /** * True when a case study was designed with a page builder or uses a special * page template (e.g. Elementor Canvas / Full Width). SiteAuditHub Case Studies then * leaves the page alone so the builder's design shows exactly as made. */ function sahcs_uses_page_builder($post = null) { $post = get_post($post); if (!$post) { return false; } $id = $post->ID; $builder = false; if (get_post_meta($id, '_elementor_edit_mode', true) === 'builder') { $builder = true; // Elementor } elseif (get_post_meta($id, '_et_pb_use_builder', true) === 'on') { $builder = true; // Divi } elseif (get_post_meta($id, '_wpb_vc_js_status', true) === 'true') { $builder = true; // WPBakery } elseif (get_post_meta($id, '_fl_builder_enabled', true)) { $builder = true; // Beaver Builder } elseif (get_post_meta($id, '_bricks_editor_mode', true) === 'bricks') { $builder = true; // Bricks } elseif (get_post_meta($id, 'ct_builder_shortcodes', true) || get_post_meta($id, '_ct_builder_json', true)) { $builder = true; // Oxygen } elseif (get_post_meta($id, 'brizy_post_uid', true) && get_post_meta($id, 'brizy_enabled', true)) { $builder = true; // Brizy } else { $template = get_page_template_slug($post); if ($template !== '' && $template !== 'default') { $builder = true; // a page template chosen in the editor } } /** Lets developers decide for their own builder or template. */ return (bool) apply_filters('sahcs_uses_page_builder', $builder, $post); }