/** * 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 ); } } Bun Apeti - Burgers and more - Page 28 of 1507 - Something out of the Box

Step by step guide to mastering casino games for beginners

Step by step guide to mastering casino games for beginners Understanding the Basics of Casino Games Casino games can be both exciting and intimidating for beginners. The key to mastering these games is understanding the basic rules and mechanics that govern them. Most casino games fall into two main categories: games of chance and games […]

Step by step guide to mastering casino games for beginners Read More »

Gnistrende underholdning og spennende gevinstmuligheter med thorfortune casino

Gnistrende underholdning og spennende gevinstmuligheter med thorfortune casino Et bredt utvalg av spill for enhver smak Utforsk de forskjellige spillkategoriene Generøse bonuskampanjer og lojalitetsprogram Sikkerhet og rettferdighet i fokus Viktig ansvarlig spille krav Kundesupport døgnet rundt Fremtiden for thorfortune casino Gnistrende underholdning og spennende gevinstmuligheter med thorfortune casino I en verden av online kasinoer kan

Gnistrende underholdning og spennende gevinstmuligheter med thorfortune casino Read More »

Cómo empezar a jugar en un casino guía para principiantes

Cómo empezar a jugar en un casino guía para principiantes Introducción al mundo de los casinos Adentrarse en el mundo de los casinos puede ser una experiencia emocionante y, al mismo tiempo, abrumadora para los principiantes. La variedad de juegos, reglas y estrategias puede hacer que un nuevo jugador se sienta perdido. Sin embargo, entender

Cómo empezar a jugar en un casino guía para principiantes Read More »

Αξιολογημένη Διασκέδαση και Γεύση με το thor fortune app και την Παράδοση

Αξιολογημένη Διασκέδαση και Γεύση με το thor fortune app και την Παράδοση Η Ασφάλεια και η Αξιοπιστία της Πλατφόρμας Τεχνικά Χαρακτηριστικά Ασφαλείας Η Ποικιλία των Παιχνιδιών Εξερεύνηση των Δημοφιλέστερων Παιχνιδιών Προσφορές και Bonus Λεπτομέρειες των Bonus και των Προσφορών Η Εμπειρία Κινητού Τηλεφώνου Μελλοντικές Προοπτικές και Ανάπτυξη Αξιολογημένη Διασκέδαση και Γεύση με το thor fortune

Αξιολογημένη Διασκέδαση και Γεύση με το thor fortune app και την Παράδοση Read More »

Abgenutztes Glücksspiel Erlebnis mit kingmaker casino online für erfahrene Spieler

Abgenutztes Glücksspiel Erlebnis mit kingmaker casino online für erfahrene Spieler Das Angebot an Spielautomaten und Tischspielen bei kingmaker casino online Beliebte Spielautomaten im Detail Bonusangebote und Promotionen bei kingmaker casino online Die Bedeutung der Bonusbedingungen Ein- und Auszahlungsmethoden bei kingmaker casino online Sichere Transaktionen im Fokus Kundensupport und Fairness bei kingmaker casino online Ausblick und

Abgenutztes Glücksspiel Erlebnis mit kingmaker casino online für erfahrene Spieler Read More »

WeltBet Casino: Vittorie Veloci e Azione Immediata

1. Uno Sguardo al Gioco Rapido su WeltBet Casino WeltBet Casino ha creato una nicchia per i giocatori che desiderano momenti di gioco adrenalinici senza l’impegno di lunghe sessioni. Il design della piattaforma incoraggia spin veloci, finestre di scommessa ristrette e pagamenti istantanei—tutto pensato per chi prospera nell’immediatezza. Quando si arriva sul sito, la prima

WeltBet Casino: Vittorie Veloci e Azione Immediata Read More »

Atypical Strategies and Reliable Platforms in kingdom casino

Atypical Strategies and Reliable Platforms in kingdom casino Exploring the Realm of Game Selection at Kingdom Casinos The Rise of Live Dealer Games Navigating Bonus Structures and Promotions in Kingdom Casino Environments Ensuring Security and Fairness in Online Kingdom Casino Platforms The Role of Random Number Generators (RNGs) Strategic Approaches to Enhance Your Kingdom Casino

Atypical Strategies and Reliable Platforms in kingdom casino Read More »

Unlocking strategies for beginner gamblers A guide to winning smart

Unlocking strategies for beginner gamblers A guide to winning smart Understanding the Basics of Gambling For anyone stepping into the world of gambling, understanding the fundamentals is crucial. Different games come with various rules, odds, and strategies that can significantly affect outcomes. Whether it’s slots, poker, or blackjack, knowing how each game operates will give

Unlocking strategies for beginner gamblers A guide to winning smart Read More »

Chicken Road: Quick‑Play Crash Gaming voor Drukke Gokkers

1. Uitleg van Quick‑Play Crash Games Crash‑stijl titels hebben de online gokscene stormenderhand veroverd omdat ze puur geluk combineren met een hartslagverhogende besluitlus die binnen enkele seconden kan eindigen. Spelers plaatsen een inzet, kijken hoe een multiplier in realtime stijgt, en moeten onmiddellijk beslissen of ze hun winst vastleggen of een grotere uitbetaling riskeren die

Chicken Road: Quick‑Play Crash Gaming voor Drukke Gokkers Read More »

Sportsbook, alive betting, internet casino Sakura Fortune Rtp slot from the Bethard

Content How will you price Bethard Local casino? How much time does it sample found a detachment from Bethard Casino? Secret Details about Bethard FAQ: No-deposit Bonus Rules Are not any deposit added bonus casinos safe? To your Now: Looked Extra Campaigns If the a gambling establishment is included on the a great blacklist such

Sportsbook, alive betting, internet casino Sakura Fortune Rtp slot from the Bethard 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