/** * 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

Basswin Casino Review: A Practical Look at Games, Payments, and Player Conditions

Casino websites often arrive wrapped in neon promises, yet the useful questions are usually rather plain: who operates the platform, how are withdrawals handled, and what do the bonus terms actually demand? A closer inspection matters more than animated buttons or a welcome message shouting from the screen. Players researching basswin casino should begin with […]

Basswin Casino Review: A Practical Look at Games, Payments, and Player Conditions Read More »

How to Choose a Reliable Online Casino for Safer, Smarter Play

Choosing an online casino is about more than finding attractive games or a welcome offer. A dependable platform should combine transparent terms, strong security, smooth payments and practical tools that help players remain in control. Taking a few minutes to check these details can make the entire experience clearer and more comfortable. Players exploring digital

How to Choose a Reliable Online Casino for Safer, Smarter Play Read More »

Online Casino Bonuses: How to Choose the Best Offer in 2026

Online casino bonuses can add significant value to a gaming budget, but the most attractive headline is not always the most useful deal. A smart player compares the terms, wagering requirements, eligible games, payment rules, and withdrawal conditions before making a deposit. Understanding how promotions work is the first step towards a safer and more

Online Casino Bonuses: How to Choose the Best Offer in 2026 Read More »

Madcasino Review: A Closer Look at Games, Banking, and Player Conditions

Choosing an online casino is less about colourful banners and more about reading the small print before the small print reads your wallet. Madcasino presents a familiar gambling environment with slots, table games, live-dealer options, payment tools, and account controls, but its value depends on the details behind each section. Readers comparing platforms may encounter

Madcasino Review: A Closer Look at Games, Banking, and Player Conditions Read More »

How to Choose a Safe and Competitive Online Casino

More than ever, casino players compare licensing, payment speed, game quality, and bonus conditions before registering. That shift is positive: a polished website is no longer enough to establish trust. For a useful starting point when evaluating online entertainment resources, visit https://creativeexchange.org.uk/ and apply the same verification standards to every operator you consider. The strongest

How to Choose a Safe and Competitive Online Casino Read More »

How to Evaluate Online Casinos Before You Play

Nearly every online casino promises fast withdrawals, generous bonuses, and an impressive game library, yet the quality of those offers can vary sharply. A careful evaluation turns a tempting advert into an informed decision, especially when comparing licensing, payment security, and the real value of promotional terms. For an efficient starting point, review https://thiseveningsperformance.net/ alongside

How to Evaluate Online Casinos Before You Play Read More »

Fortunica Casino Guide: A Practical Route from Registration to Play

Choosing an online casino is easier when the important details are arranged in a clear order. Fortunica combines casino games, live dealer tables, sports-style entertainment and promotional offers in one account, giving players a broad selection from a single platform. Before exploring the lobby, players should understand how access, payments, bonuses and responsible play fit

Fortunica Casino Guide: A Practical Route from Registration to Play Read More »

How to Choose a Reliable Online Casino: A Practical Player’s Guide

More players are moving from traditional venues to digital casino platforms, but convenience should never replace careful research. The best online casino is not simply the one with the brightest design or the largest welcome banner; it is the platform that combines safety, transparent terms, useful payment options, and games that match your preferences. Before

How to Choose a Reliable Online Casino: A Practical Player’s Guide 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