PATH:
home
/
lab2454c
/
archfort.com
/
wp-content
/
themes
/
hello-elementor
<?php /** * Theme functions and definitions * * @package HelloElementor */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'HELLO_ELEMENTOR_VERSION', '2.4.1' ); if ( ! isset( $content_width ) ) { $content_width = 800; // Pixels. } if ( ! function_exists( 'hello_elementor_setup' ) ) { /** * Set up theme support. * * @return void */ function hello_elementor_setup() { if ( is_admin() ) { hello_maybe_update_theme_version_in_db(); } $hook_result = apply_filters_deprecated( 'elementor_hello_theme_load_textdomain', [ true ], '2.0', 'hello_elementor_load_textdomain' ); if ( apply_filters( 'hello_elementor_load_textdomain', $hook_result ) ) { load_theme_textdomain( 'hello-elementor', get_template_directory() . '/languages' ); } $hook_result = apply_filters_deprecated( 'elementor_hello_theme_register_menus', [ true ], '2.0', 'hello_elementor_register_menus' ); if ( apply_filters( 'hello_elementor_register_menus', $hook_result ) ) { register_nav_menus( [ 'menu-1' => __( 'Header', 'hello-elementor' ) ] ); register_nav_menus( [ 'menu-2' => __( 'Footer', 'hello-elementor' ) ] ); } $hook_result = apply_filters_deprecated( 'elementor_hello_theme_add_theme_support', [ true ], '2.0', 'hello_elementor_add_theme_support' ); if ( apply_filters( 'hello_elementor_add_theme_support', $hook_result ) ) { add_theme_support( 'post-thumbnails' ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'html5', [ 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ] ); add_theme_support( 'custom-logo', [ 'height' => 100, 'width' => 350, 'flex-height' => true, 'flex-width' => true, ] ); /* * Editor Style. */ add_editor_style( 'classic-editor.css' ); /* * Gutenberg wide images. */ add_theme_support( 'align-wide' ); /* * WooCommerce. */ $hook_result = apply_filters_deprecated( 'elementor_hello_theme_add_woocommerce_support', [ true ], '2.0', 'hello_elementor_add_woocommerce_support' ); if ( apply_filters( 'hello_elementor_add_woocommerce_support', $hook_result ) ) { // WooCommerce in general. add_theme_support( 'woocommerce' ); // Enabling WooCommerce product gallery features (are off by default since WC 3.0.0). // zoom. add_theme_support( 'wc-product-gallery-zoom' ); // lightbox. add_theme_support( 'wc-product-gallery-lightbox' ); // swipe. add_theme_support( 'wc-product-gallery-slider' ); } } } } add_action( 'after_setup_theme', 'hello_elementor_setup' ); function hello_maybe_update_theme_version_in_db() { $theme_version_option_name = 'hello_theme_version'; // The theme version saved in the database. $hello_theme_db_version = get_option( $theme_version_option_name ); // If the 'hello_theme_version' option does not exist in the DB, or the version needs to be updated, do the update. if ( ! $hello_theme_db_version || version_compare( $hello_theme_db_version, HELLO_ELEMENTOR_VERSION, '<' ) ) { update_option( $theme_version_option_name, HELLO_ELEMENTOR_VERSION ); } } if ( ! function_exists( 'hello_elementor_scripts_styles' ) ) { /** * Theme Scripts & Styles. * * @return void */ function hello_elementor_scripts_styles() { $enqueue_basic_style = apply_filters_deprecated( 'elementor_hello_theme_enqueue_style', [ true ], '2.0', 'hello_elementor_enqueue_style' ); $min_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; if ( apply_filters( 'hello_elementor_enqueue_style', $enqueue_basic_style ) ) { wp_enqueue_style( 'hello-elementor', get_template_directory_uri() . '/style' . $min_suffix . '.css', [], HELLO_ELEMENTOR_VERSION ); } if ( apply_filters( 'hello_elementor_enqueue_theme_style', true ) ) { wp_enqueue_style( 'hello-elementor-theme-style', get_template_directory_uri() . '/theme' . $min_suffix . '.css', [], HELLO_ELEMENTOR_VERSION ); } if ( apply_filters( 'hello_elementor_enqueue_modal_style', true ) ) { wp_enqueue_style( 'hello-elementor-modal-style', get_stylesheet_directory_uri() . '/modal.css', [], HELLO_ELEMENTOR_VERSION ); } } } add_action( 'wp_enqueue_scripts', 'hello_elementor_scripts_styles' ); if ( ! function_exists( 'hello_elementor_register_elementor_locations' ) ) { /** * Register Elementor Locations. * * @param ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager $elementor_theme_manager theme manager. * * @return void */ function hello_elementor_register_elementor_locations( $elementor_theme_manager ) { $hook_result = apply_filters_deprecated( 'elementor_hello_theme_register_elementor_locations', [ true ], '2.0', 'hello_elementor_register_elementor_locations' ); if ( apply_filters( 'hello_elementor_register_elementor_locations', $hook_result ) ) { $elementor_theme_manager->register_all_core_location(); } } } add_action( 'elementor/theme/register_locations', 'hello_elementor_register_elementor_locations' ); if ( ! function_exists( 'hello_elementor_content_width' ) ) { /** * Set default content width. * * @return void */ function hello_elementor_content_width() { $GLOBALS['content_width'] = apply_filters( 'hello_elementor_content_width', 800 ); } } add_action( 'after_setup_theme', 'hello_elementor_content_width', 0 ); if ( is_admin() ) { require get_template_directory() . '/includes/admin-functions.php'; } /** * If Elementor is installed and active, we can load the Elementor-specific Settings & Features */ // Allow active/inactive via the Experiments require get_template_directory() . '/includes/elementor-functions.php'; /** * Include customizer registration functions */ function hello_register_customizer_functions() { if ( hello_header_footer_experiment_active() && is_customize_preview() ) { require get_template_directory() . '/includes/customizer-functions.php'; } } add_action( 'init', 'hello_register_customizer_functions' ); if ( ! function_exists( 'hello_elementor_check_hide_title' ) ) { /** * Check hide title. * * @param bool $val default value. * * @return bool */ function hello_elementor_check_hide_title( $val ) { if ( defined( 'ELEMENTOR_VERSION' ) ) { $current_doc = Elementor\Plugin::instance()->documents->get( get_the_ID() ); if ( $current_doc && 'yes' === $current_doc->get_settings( 'hide_title' ) ) { $val = false; } } return $val; } } add_filter( 'hello_elementor_page_title', 'hello_elementor_check_hide_title' ); /** * Wrapper function to deal with backwards compatibility. */ if ( ! function_exists( 'hello_elementor_body_open' ) ) { function hello_elementor_body_open() { if ( function_exists( 'wp_body_open' ) ) { wp_body_open(); } else { do_action( 'wp_body_open' ); } } } if (function_exists('acf_add_options_page')) { acf_add_options_page(array( 'page_title' => 'Theme Invite Settings', 'menu_title' => 'Invite', 'menu_slug' => 'theme-invite-settings', 'capability' => 'edit_posts', 'redirect' => false )); } function javascript_variables() { ?> <script type="text/javascript"> var ajax_url = '<?php echo admin_url("admin-ajax.php"); ?>'; var ajax_nonce = '<?php echo wp_create_nonce("secure_nonce_name"); ?>'; var isUser = <?php echo is_user_logged_in()?1:0;?>; var myAccountUrl = '<?php echo site_url('/my-account/');?>'; </script><?php } add_action('wp_head', 'javascript_variables'); add_action('wp_ajax_send_form', 'send_form'); add_action('wp_ajax_nopriv_send_form', 'send_form'); function send_form() { if (empty($_POST["invite_only"])) { echo "Insert your Invite code please"; wp_die(); } if (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) { echo 'Insert your email please'; wp_die(); } $invite = $_POST["invite_only"]; if (!empty($invite)) { $generated_code = []; $code = get_field('generate_codes', 'option'); if (!empty($code)) { foreach ($code as $c) { if(isset($c['code']) && !!$c['code']){ array_push($generated_code, $c['code']); } } } if (in_array($invite, $generated_code)) { echo "success"; } else { echo "Invalid Invite Code"; } } wp_die(); } function show_modal_on_load() { ?> <div id="myModal" class="modal fade" data-bs-keyboard="false" data-bs-backdrop="false"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Invitation</h5> </div> <div class="modal-body"> <?php if ( has_custom_logo() && ( 'title' !== hello_elementor_get_setting( 'hello_header_logo_type' ) || $is_editor ) ){?> <div class="site-logo <?php echo esc_attr( hello_show_or_hide( 'hello_header_logo_display' ) ); ?>"> <?php the_custom_logo(); ?> </div> <?php }?> <div class="invite_form"> <form action="" method="POST" name="invite_codes"> <h5> Sign up with email </h5> <div class="form-group"> <label>Invitation Code: </label> <input type="text" name="invite_only" class="form-control" required> </div> <div class="form-group"> <label>Email Address: </label> <input type="email" name="email" class="form-control" required> </div> <input type="hidden" name="action" value="send_form" style="display: none; visibility: hidden; opacity: 0;"> <button type="submit">Submit!</button> </form> </div> </div> </div> </div> </div> <script> function setCookie(name, value, days) { const expires = new Date(); expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000)); document.cookie = name + "=" + value + ";expires=" + expires.toUTCString() + ";path=/"; } function getCookie(name) { const nameEQ = name + "="; const ca = document.cookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i].trim(); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); } return null; } window.onload = () => { if (getCookie('invite_code') === null && isUser == 0) { jQuery("#myModal").show(); jQuery("#myModal").modal('show'); } if (isUser == 0) { jQuery("#myModal").show(); jQuery("#myModal").modal('show'); } } jQuery('form[name="invite_codes"]').on('submit', function() { var form_data = jQuery(this).serializeArray(); form_data.push({ "name": "security", "value": ajax_nonce }); jQuery.ajax({ url: ajax_url, type: 'post', data: form_data, success: function(response) { if (response == 'success') { setCookie("invite_code", 1, 7); jQuery("#myModal").hide(); jQuery("#myModal").modal('hide'); } else { alert(response); } }, fail: function(err) { alert("There was an error: " + err); } }); return false; }); </script> <?php } add_action( 'wp_footer', 'show_modal_on_load' );
[+]
includes
[-] classic-editor.css
[edit]
[-] theme.min.css
[edit]
[-] index.php
[edit]
[+]
..
[-] sidebar.php
[edit]
[-] style.min.css
[edit]
[-] classic-editor.min.css
[edit]
[-] footer.php
[edit]
[-] editor.min.css
[edit]
[-] header.php
[edit]
[-] style.css
[edit]
[-] modal.css
[edit]
[-] readme.txt
[edit]
[-] editor.css
[edit]
[-] customizer.min.css
[edit]
[+]
assets
[-] screenshot.png
[edit]
[-] functions.php
[edit]
[-] theme.css
[edit]
[-] customizer.css
[edit]
[+]
template-parts
[-] comments.php
[edit]