/** * 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 449 of 2347 - Something out of the Box

Platforma Lizaro to Strona Najwyższej jakości Automatów dla Graczy z Polski

W sieci funkcjonują setki kasyn online, a polscy gracze mają szeroki wybór https://legiano-pl.eu/. Potrzebują jednak czegoś więcej niż tylko prostej rozrywki. Potrzebują miejsca, które zapewnia autentyczną jakość, pewne bezpieczeństwo i bogatą ofertę gier. Lizaro Casino odpowiada na te potrzeby, budując swoją pozycję jako dom premiumowych automatów dla polskiego gracza. Platforma została zbudowana w oparciu o […]

Platforma Lizaro to Strona Najwyższej jakości Automatów dla Graczy z Polski Read More »

FieryPlay Casino Brings Big Bonuses and Larger Adventures to the United Kingdom

As I explore the vibrant landscape of digital casinos in the UK, one platform always emerges to the forefront with its attractive offer: FieryPlay Casino. This operator isn’t just another name in a competitive field; it’s a venue that comprehends the twin desires of the modern player for real benefits and genuine entertainment. From the

FieryPlay Casino Brings Big Bonuses and Larger Adventures to the United Kingdom Read More »

GramsBet Casino Laat Je Vandaag Nog Casino Perfectie Ervaren in Nederland

Nederlandse spelers die een online casino willen, zoeken meer dan alleen een lange lijst met spellen https://gramsbetonline.com/. Ze zoeken een plek waar ze zich thuis voelen, een platform dat betrouwbaar is en dat werkelijk rekening houdt met hun behoeften. GramsBet Casino probeert niet de zoveelste optie in het rijtje te zijn. Het wil een eindbestemming

GramsBet Casino Laat Je Vandaag Nog Casino Perfectie Ervaren in Nederland Read More »

Wie man Pirots 5 Slot erfolgreich spielst und reale Gewinne in Deutschland erzielst

Pirots 5 Slot bietet sich als ein Online-Slot, der mit seinem 5×5-Gitter und dem Cluster-Pays-System überzeugt. Für Spieler in Deutschland bedeutet das nicht nur Abwechslung, sondern auch eine echte Möglichkeit auf Gewinne. Dieser Leitfaden erläutert dir die Spielmechanik, vermittelt dir nützliche Taktiken und führt dich dazu, deine Chancen auf einen erfolgreichen Spielverlauf zu verbessern. Effektives

Wie man Pirots 5 Slot erfolgreich spielst und reale Gewinne in Deutschland erzielst Read More »

Απίστευτη_διασκέδαση_από_την_απλή_ιδέα_μέχρ-8529511

Απίστευτη διασκέδαση από την απλή ιδέα μέχρι το συναρπαστικό chicken road casino και τους αμέτρητους πόντους Η Βασική Μηχανική του Παιχνιδιού και οι Στρατηγικές Επιβίωσης Εξειδικευμένες Τεχνικές για Προχωρημένους Παίκτες Η Εξέλιξη του Παιχνιδιού και οι Τρόποι Βελτίωσης της Απόδοσης Στρατηγικές Αναβάθμισης του Κοτόπουλου σας Η Κοινωνική Διάσταση του Chicken Road Casino και οι Προκλήσεις

Απίστευτη_διασκέδαση_από_την_απλή_ιδέα_μέχρ-8529511 Read More »

Măsuri de Siguranță și Sisteme de Protecție pentru Utilizatori în Legacy of Dead Slot pentru România

În calitate de jucător din România de sloturi online, știu că fascinația și emoția unui joc ca Legacy of Dead Slot trebuie să se îmbine cu securitatea și responsabilitatea. Aceste principii sunt fundamentale atât pentru mine, cât și pentru furnizorii de încredere care operează la noi în țară. În cele ce urmează, o să detaliez

Măsuri de Siguranță și Sisteme de Protecție pentru Utilizatori în Legacy of Dead Slot pentru România Read More »

Royal Joker Hold and Win Slot Productenwinkel Verzendt naar Nederlandse bestemmingen

Fans van de Royal Joker Hold and Win slot begrijpen het: de magie houdt niet op bij het scherm. Daarom goed nieuws, want de officiële merchandise shop levert nu direct naar Nederland. Je kan je passie voor dit spel tonen met echte, officiële spullen, zonder moeite met douane of onzekere verzending. Op welke manier Bestellingen

Royal Joker Hold and Win Slot Productenwinkel Verzendt naar Nederlandse bestemmingen Read More »

Evolution Journey and Innovation Timeline of Legacy of Dead Slot for UK

Those who recall the first, blocky online slots understand how many themes have disappeared legacy-of-dead.eu. Egyptian adventures, though, have a special appeal. The first time I loaded Legacy of Dead, I realized this was different. Play’n GO, a developer with a standing for skill and creativity, created this slot to move the goalposts. Its path

Evolution Journey and Innovation Timeline of Legacy of Dead Slot for UK 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