/** * Starter Content Compatibility. * * @since 4.0.0 * @package Astra */ /** * Class Astre_Starter_Content */ class Astra_Starter_Content { public const HOME_SLUG = 'home'; public const ABOUT_SLUG = '#about'; public const SERVICES_SLUG = '#services'; public const REVIEWS_SLUG = '#reviews'; public const WHY_US_SLUG = '#whyus'; public const CONTACT_SLUG = '#contact'; /** * Constructor */ public function __construct() { $is_fresh_site = get_option( 'fresh_site' ); if ( ! $is_fresh_site ) { return; } // Adding post meta and inserting post. add_action( 'wp_insert_post', array( $this, 'register_listener', ), 3, 99 ); // Save astra settings into database. add_action( 'customize_save_after', array( $this, 'save_astra_settings', ), 10, 3 ); if ( ! is_customize_preview() ) { return; } // preview customizer values. add_filter( 'default_post_metadata', array( $this, 'starter_meta' ), 99, 3 ); add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); add_filter( 'astra_global_color_palette', array( $this, 'theme_color_palettes_defaults' ) ); } /** * Load default starter meta. * * @since 4.0.2 * @param mixed $value Value. * @param int $post_id Post id. * @param string $meta_key Meta key. * * @return string Meta value. */ public function starter_meta( $value, $post_id, $meta_key ) { if ( get_post_type( $post_id ) !== 'page' ) { return $value; } if ( 'site-content-layout' === $meta_key ) { return 'plain-container'; } if ( 'theme-transparent-header-meta' === $meta_key ) { return 'enabled'; } if ( 'site-sidebar-layout' === $meta_key ) { return 'no-sidebar'; } if ( 'site-post-title' === $meta_key ) { return 'disabled'; } return $value; } /** * Register listener to insert post. * * @since 4.0.0 * @param int $post_ID Post Id. * @param \WP_Post $post Post object. * @param bool $update Is update. */ public function register_listener( $post_ID, $post, $update ) { if ( $update ) { return; } $custom_draft_post_name = get_post_meta( $post_ID, '_customize_draft_post_name', true ); $is_from_starter_content = ! empty( $custom_draft_post_name ); if ( ! $is_from_starter_content ) { return; } if ( 'page' === $post->post_type ) { update_post_meta( $post_ID, 'site-content-layout', 'plain-container' ); update_post_meta( $post_ID, 'theme-transparent-header-meta', 'enabled' ); update_post_meta( $post_ID, 'site-sidebar-layout', 'no-sidebar' ); update_post_meta( $post_ID, 'site-post-title', 'disabled' ); } } /** * Get customizer json * * @since 4.0.0 * @return mixed value. */ public function get_customizer_json() { try { $request = wp_remote_get( ASTRA_THEME_URI . 'inc/compatibility/starter-content/astra-settings-export.json' ); } catch ( Exception $ex ) { $request = null; } if ( is_wp_error( $request ) ) { return false; // Bail early. } // @codingStandardsIgnoreStart /** * @psalm-suppress PossiblyNullReference * @psalm-suppress UndefinedMethod * @psalm-suppress PossiblyNullArrayAccess * @psalm-suppress PossiblyNullArgument * @psalm-suppress InvalidScalarArgument */ return json_decode( $request['body'], 1 ); // @codingStandardsIgnoreEnd } /** * Save Astra customizer settings into database. * * @since 4.0.0 */ public function save_astra_settings() { $settings = self::get_customizer_json(); // Delete existing dynamic CSS cache. delete_option( 'astra-settings' ); if ( ! empty( $settings['customizer-settings'] ) ) { foreach ( $settings['customizer-settings'] as $option => $value ) { update_option( $option, $value ); } } } /** * Load default astra settings. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-settings']; } return $json ? $json : $defaults; } /** * Load default color palettes. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_color_palettes_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-color-palettes']; } return $json ? $json : $defaults; } /** * Return starter content definition. * * @return mixed|void * @since 4.0.0 */ public function get() { $nav_items_header = array( 'home' => array( 'type' => 'post_type', 'object' => 'page', 'object_id' => '{{' . self::HOME_SLUG . '}}', ), 'about' => array( 'title' => __( 'Services', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::SERVICES_SLUG . '}}', ), 'services' => array( 'title' => __( 'About', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::ABOUT_SLUG . '}}', ), 'reviews' => array( 'title' => __( 'Reviews', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::REVIEWS_SLUG . '}}', ), 'faq' => array( 'title' => __( 'Why Us', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::WHY_US_SLUG . '}}', ), 'contact' => array( 'title' => __( 'Contact', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::CONTACT_SLUG . '}}', ), ); $content = array( 'attachments' => array( 'logo' => array( 'post_title' => _x( 'Logo', 'Theme starter content', 'astra' ), 'file' => 'inc/assets/images/starter-content/logo.png', ), ), 'theme_mods' => array( 'custom_logo' => '{{logo}}', ), 'nav_menus' => array( 'primary' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), 'mobile_menu' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), ), 'options' => array( 'page_on_front' => '{{' . self::HOME_SLUG . '}}', 'show_on_front' => 'page', ), 'posts' => array( self::HOME_SLUG => require ASTRA_THEME_DIR . 'inc/compatibility/starter-content/home.php', // PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound ), ); return apply_filters( 'astra_starter_content', $content ); } } Uncategorized - Bun Apeti - Burgers and more

Uncategorized

Réglementations françaises et implications pour les bonus sans dépôt immédiat

Les jeux d’argent en ligne connaissent une croissance rapide en France, mais cette expansion est encadrée par un cadre réglementaire strict visant à protéger les consommateurs et garantir une concurrence loyale. Parmi ces réglementations, celles concernant les bonus sans dépôt immédiat occupent une place centrale. Ces offres, très prisées par les joueurs, sont soumises à

Réglementations françaises et implications pour les bonus sans dépôt immédiat Read More »

Perché le decisioni quotidiane sono come attraversare la strada con una gallina

Introduzione: Le decisioni quotidiane come un percorso a ostacoli Ogni giorno siamo chiamati a fare scelte che, a prima vista, sembrano semplici: cosa indossare, cosa mangiare, come affrontare una riunione o un imprevisto. Tuttavia, dietro queste decisioni si nascondono processi complessi che influenzano la nostra vita, spesso senza che ce ne rendiamo conto. La similitudine

Perché le decisioni quotidiane sono come attraversare la strada con una gallina Read More »

Calibrare il rapporto resina/indurente epossidica con precisione di livello esperto per massimizzare la resistenza meccanica in applicazioni industriali italiane

Il rapporto esatto tra resina epossidica e indurente non è semplice bilanciamento numerico, ma il fulcro critico che determina la qualità finale del laminato, soprattutto in settori come automotive, meccanico industriale e infrastrutture in Italia dove affidabilità e durabilità sono imprescindibili. A differenza di miscele generiche, il valore ottimale dipende da uno studio preciso della

Calibrare il rapporto resina/indurente epossidica con precisione di livello esperto per massimizzare la resistenza meccanica in applicazioni industriali italiane Read More »

Come Nintendo ha rivoluzionato l’attraversamento stradale nei videogiochi

L’attraversamento stradale è uno dei momenti più delicati e cruciali sia nella vita quotidiana che nel mondo dei videogiochi. La sua rappresentazione nel medium videoludico ha attraversato un lungo processo di evoluzione, riflettendo non solo avanzamenti tecnici ma anche un crescente senso di responsabilità educativa. In Italia, dove la sicurezza stradale è una priorità, questa

Come Nintendo ha rivoluzionato l’attraversamento stradale nei videogiochi Read More »

Impostare con precisione il filtro geolocalizzato Tier 2 per un’AR linguistica italiana standardizzata nelle microzone bianitate

La georeferenziazione centimetrica integrata in applicazioni di realtà aumentata (AR) rappresenta una frontiera avanzata per la fruizione contestualizzata di contenuti linguistici regionali, in particolare quando si richiede la filtrazione rigorosa di output in italiano standardizzato. Il Tier 2, nel contesto delle microzone bianitate, non si limita alla semplice localizzazione geografica, ma richiede una sinergia tra

Impostare con precisione il filtro geolocalizzato Tier 2 per un’AR linguistica italiana standardizzata nelle microzone bianitate Read More »

Gaussian Elimination: The Art and Science of Simplifying Complexity

Gaussian elimination stands as a cornerstone technique in linear algebra, transforming intricate matrix systems into solvable forms through systematic row operations. At its core, this method reduces complexity not by erasing structure, but by revealing hidden patterns—much like taming a chaotic lawn into ordered growth. This approach mirrors real-world systems where disorder gives way to

Gaussian Elimination: The Art and Science of Simplifying Complexity Read More »

The Importance of User Reviews in Selecting an Online Casino

Choosing the right online casino can significantly impact your gaming experience, safety, and potential winnings. User reviews serve as an invaluable resource in this decision-making process, providing authentic insights from players who have firsthand experience. Understanding how to interpret these reviews and leverage them effectively can help you make informed choices, ensuring a safer and

The Importance of User Reviews in Selecting an Online Casino Read More »

/** * Template part for displaying the footer info. * * @link https://codex.wordpress.org/Template_Hierarchy * * @package Astra * @since 1.0.0 */ ?>
Scroll to Top