/** * 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 ); } } Public - Bun Apeti - Burgers and more

Public

Top cazinouri online România: explorarea opțiunilor de bonusuri și recompense

Industria cazinourilor online din România a cunoscut o expansiune rapidă, oferind jucătorilor o gamă variată de opțiuni și bonusuri atractive. Cu un număr tot mai mare de operatori disponibili, este esențial să înțelegem cum să facem cele mai bune alegeri pentru a maximiza experiența de joc, cum ar fi consultarea unei lista cazinouri online romania […]

Top cazinouri online România: explorarea opțiunilor de bonusuri și recompense Read More »

No Deposit Bonus Non Gamstop casinos: Your fast track to free spins and cash

The world of online casinos is ever-evolving, providing players with exciting opportunities to enjoy gaming without necessarily making a deposit upfront. Non-Gamstop casinos present a unique option for players seeking flexibility and generous non gamstop casinos no deposit bonus , which allow for the potential of free spins and cash rewards. This guide dives into

No Deposit Bonus Non Gamstop casinos: Your fast track to free spins and cash Read More »

KYC nei casinò online: come garantisce un gioco sicuro e prelievi rapidi

I casinò online hanno rivoluzionato il modo di giocare, offrendo accesso a una vasta gamma di giochi direttamente da casa. Tuttavia, per garantire un’esperienza di gioco sicura e fluida, è fondamentale la pratica del KYC (Know Your Customer). Inoltre, i giocatori possono considerare i siti non aams con bonus senza deposito che offrono vantaggi interessanti,

KYC nei casinò online: come garantisce un gioco sicuro e prelievi rapidi Read More »

Casino bonus sans dépôt : guide pour débutants sur les mises et les gains

Les casinos en ligne attirent de plus en plus de joueurs, notamment grâce à des offres comme les bonus sans dépôt. Dans cet article, nous allons explorer en profondeur ce type de bonus, qui permet aux nouveaux utilisateurs de tester les jeux sans engagement financier, tout en découvrant des options telles que casino bonus sans

Casino bonus sans dépôt : guide pour débutants sur les mises et les gains Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning Read More »

Casino Event Planning

Casino event planning coordinates gatherings within properties that already support several ongoing activities. An event might occupy a meeting room, a ballroom, a restaurant, or an outdoor area, depending on its size and practical requirements. Planners establish a schedule for preparation, guest arrival, catering, presentations, and removal of equipment. They also account for the normal

Casino Event Planning 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