/**
* Theme functions and definitions.
* @author DeoThemes
* @copyright (c) Copyright by DeoThemes
* @link https://deothemes.com
* @package Dinery
* @since 1.0.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
// Set the content width based on the theme's design and stylesheet.
if ( ! isset( $content_width ) ) {
$content_width = 1240; /* pixels */
}
error_reporting(E_ERROR | E_PARSE);
// Constants
define( 'DINERY_VERSION', '1.1.10' );
define( 'DINERY_DIR', get_template_directory() );
define( 'DINERY_URI', get_template_directory_uri() );
// Includes
require_once DINERY_DIR . '/includes/admin/theme-admin.php';
require_once DINERY_DIR . '/includes/theme-setup.php';
require_once DINERY_DIR . '/includes/theme-functions.php';
require_once DINERY_DIR . '/includes/theme-hooks.php';
require_once DINERY_DIR . '/includes/template-tags.php';
require_once DINERY_DIR . '/includes/template-parts.php';
require_once DINERY_DIR . '/includes/class-breadcrumb-trail.php';
require_once DINERY_DIR . '/includes/class-dinery-query.php';
require_once DINERY_DIR . '/includes/class-dinery-walker-nav-menu.php';
require_once DINERY_DIR . '/includes/class-dinery-walker-comment.php';
require_once DINERY_DIR . '/includes/customizer/customizer.php';
/**
* Theme Wizard.
*/
require_once get_parent_theme_file_path( '/includes/merlin/vendor/autoload.php' );
require_once get_parent_theme_file_path( '/includes/merlin/class-merlin.php' );
require_once get_parent_theme_file_path( '/includes/merlin/merlin-config.php' );
require_once get_parent_theme_file_path( '/includes/merlin/merlin-filters.php' );
/**
* Demo Import.
*/
require_once DINERY_DIR . '/includes/theme-demo-import.php';
/**
* Theme styles.
*/
function dinery_theme_styles() {
wp_enqueue_style( 'dinery-font-icons', DINERY_URI . '/assets/fonts/ui-icons/style.css' );
wp_enqueue_style( 'dinery-styles', DINERY_URI . '/style.min.css', array( 'dinery-font-icons' ), DINERY_VERSION, 'all' );
if ( get_theme_mod( 'dinery_settings_cookies_bar_show', false ) ) {
wp_enqueue_style( 'cookieconsent', DINERY_URI . '/assets/css/cookieconsent.min.css' );
}
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
// Fonts
if ( ! class_exists( 'Kirki' ) ) {
wp_enqueue_style( 'dinery-google-fonts', '//fonts.googleapis.com/css2?family=Jost:wght@400;500;700&family=Lora:ital,wght@0,400;0,700;1,400&display=swap', [], null );
}
}
add_action( 'wp_enqueue_scripts', 'dinery_theme_styles' );
/**
* Editor styles.
*/
function dinery_editor_assets() {
wp_enqueue_style( 'dinery-editor-styles', get_theme_file_uri( '/assets/css/editor.css' ), false );
if ( ! class_exists( 'Kirki' ) ) {
wp_enqueue_style( 'dinery-editor-google-fonts', '//fonts.googleapis.com/css2?family=Jost:wght@400;500;700&family=Lora:ital,wght@0,400;0,700;1,400&display=swap', [], null );
}
}
add_action( 'enqueue_block_editor_assets', 'dinery_editor_assets' );
/**
* Theme scripts.
*/
function dinery_theme_scripts() {
wp_register_script( 'isotope', DINERY_URI . '/assets/js/isotope.pkgd.min.js', array( 'imagesloaded' ), '3.0.6', true );
if ( is_home() || is_archive() || is_search() || is_front_page() ) {
wp_enqueue_script( 'isotope' );
wp_enqueue_script( 'imagesloaded' );
}
wp_register_script( 'dinery-scripts', DINERY_URI . '/assets/js/scripts.min.js', array( 'jquery' ), DINERY_VERSION, true );
wp_enqueue_script( 'dinery-scripts' );
$Dinery_Data = array(
'home_url' => esc_url( home_url( '/' ) ),
'theme_path' => DINERY_URI,
'mobile_header_sticky' => (bool)get_theme_mod( 'dinery_settings_sticky_mobile_header_show', false )
);
wp_localize_script( 'dinery-scripts', 'Dinery_Data', $Dinery_Data );
// Cookie notification bar
if ( get_theme_mod( 'dinery_settings_cookies_bar_show', false ) ) {
wp_enqueue_script( 'cookieconsent', DINERY_URI . '/assets/js/cookieconsent.min.js', array( 'jquery' ), '3.1.0', true );
wp_register_script( 'dinery-cookie-consent', DINERY_URI . '/assets/js/cookies.js', array( 'cookieconsent' ), '1.0.0', true );
$cookies_data = array(
'message' => esc_html( get_theme_mod( 'dinery_settings_cookies_message', 'We are using cookies to personalize content and ads to make our site easier for you to use.' ) ),
'dismiss' => esc_html( get_theme_mod( 'dinery_settings_cookies_button', 'Agree' ) ),
'link' => esc_html( get_theme_mod( 'dinery_settings_cookies_learn_more_text', 'Learn More' ) ),
'href' => esc_url( get_theme_mod( 'dinery_settings_cookies_learn_more_url', 'http://cookiesandyou.com' ) ),
);
wp_localize_script( 'dinery-cookie-consent', 'cookies', $cookies_data );
wp_enqueue_script( 'dinery-cookie-consent' );
}
}
add_action( 'wp_enqueue_scripts', 'dinery_theme_scripts' );
/**
* Theme admin scripts and styles.
*/
function dinery_admin_scripts() {
$screen = get_current_screen();
wp_enqueue_style( 'dinery-admin-styles', DINERY_URI . '/assets/admin/css/admin-styles.css' );
if ( $screen->id === 'appearance_page_one-click-demo-import') {
wp_register_script( 'dinery-admin-scripts', DINERY_URI . '/assets/admin/js/dinery-admin-scripts.js', array('jquery-core'), false, true );
wp_enqueue_script( 'dinery-admin-scripts' );
}
}
add_action( 'admin_enqueue_scripts', 'dinery_admin_scripts' );
/**
* Theme WP Customizer scripts and styles.
*/
function dinery_customizer_scripts() {
wp_enqueue_style( 'dinery-customizer-styles', DINERY_URI . '/assets/css/customizer/customizer.css' );
}
add_action( 'customize_controls_enqueue_scripts', 'dinery_customizer_scripts' );
// Remove Google Fonts
add_filter( 'elementor/frontend/print_google_fonts', '__return_false' );