/** * 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 503 of 2448 - Something out of the Box

Blockfunctie in Ice Fishing Live Slot: Hoe Nederland Deze Gebruikt

De spanning van een live casino kan soms overweldigend zijn https://icefishinglivecasino.com/. Soms heb je gewoon even een pauze nodig. Daarom bekijken we vandaag naar de Block-functie in Ice Fishing Live Slot, een tool die vaak over het hoofd wordt gezien. Dit is geen simpele instelling. Het is een krachtig gereedschap dat Nederlandse spelers op hun

Blockfunctie in Ice Fishing Live Slot: Hoe Nederland Deze Gebruikt Read More »

Current Offers: Ongoing Specials and Special Deals at 7Gear Casino for UK

For UK players at Casino 7Gear Payment, our promotions are more than just ads. They’re a key element of the fun, designed to offer real value. We examine our own live offers with a discerning view, ensuring they bring genuine excitement to players from Manchester to Cardiff. These deals are your chance to extend your

Current Offers: Ongoing Specials and Special Deals at 7Gear Casino for UK Read More »

Zeitlimits im Shining Crown Slot: Einrichtung für deutschsprachiges Wohlbefinden

Der deutsche Glücksspielmarkt legt großen Wert auf verantwortungsvolles Spielen. Der Shining Crown Slot begegnet diesem Anspruch mit einer Zeitlimit-Funktion, die speziell für Spieler aus Deutschland konzipiert wurde. Diese Analyse verdeutlicht, wie die technische Umsetzung weit mehr darstellt als nur eine gesetzliche Pflicht. Sie entwickelt sich zu einem praktischen Werkzeug, mit dem Spieler ihr Verhalten selbst

Zeitlimits im Shining Crown Slot: Einrichtung für deutschsprachiges Wohlbefinden Read More »

Payment Speed Comparison Piggy Riches Megaways Title Speediest in UK

Judging an online slot requires more than just its theme or bonus rounds https://piggyrichesmegaways.uk/. One of the most essential factors for players is how rapidly they can get their hands on their winnings. In the UK, where punters require fast service, we’ve put payment processing times under the microscope. Our investigation shows a clear trend:

Payment Speed Comparison Piggy Riches Megaways Title Speediest in UK Read More »

A complete Self-help guide to medusa 2 pokie online casino Committing to We Ties and Information 2025

Posts #step one Tip – Learn Earliest Strategy Manage your Money What exactly is card-counting? Add Card-counting to your Gameplay But not, when you include advanced black-jack steps such card counting to the the fresh mix, it is possible to possess professionals to conquer our house border. When you’re basic blackjack means is replace your likelihood

A complete Self-help guide to medusa 2 pokie online casino Committing to We Ties and Information 2025 Read More »

Sign-Up Process Made Easy at Gamblerina Casino in Canada

Joining an online casino should be easy and protected https://gamblerinaa.com/. Canadian players seeking a great place to game will find Gamblerina Casino’s registration is made for speed. This guide walks you through each stage, from that first click to funding your account, so you can start playing your favorite titles without hesitation or worry. Why

Sign-Up Process Made Easy at Gamblerina Casino in Canada Read More »

Adjustment Settings and Individual Configurations in Nitropolis 4 Slot for UK

For UK slot aficionados looking for a truly tailored gaming adventure, Slot Nitropolis 4 stands out as a powerhouse of individualisation. This visually stunning post-apocalyptic journey, inhabited by rebellious animal clans, goes far beyond standard slot features by placing an extensive selection of personalisation controls directly into the player’s grasp. The game recognises that a

Adjustment Settings and Individual Configurations in Nitropolis 4 Slot for UK Read More »

Dlaczego Komunikacja Glorion Casino Stoi na Tle Polski? Gracze Nie Mogą Się Nacieszyć

Testuję platformy hazardowe od lat. Poznałem już wszystkie możliwe podejścia do obsługi klienta. Przeważnie to sztywny, skryptowy proces, który sprawia, że gracz odczuwa jak następny numer w bazie danych. Moje spotkanie z glorion Casino okazało się inne. Dla nich komunikacja nie stanowi przykrym obowiązkiem, ale filarem relacji z klientem. Na polskim rynku, gdzie istotny jest

Dlaczego Komunikacja Glorion Casino Stoi na Tle Polski? Gracze Nie Mogą Się Nacieszyć 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