tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support('title-tag');
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support('post-thumbnails');
add_image_size('anirohotellight-mainslider-thumb', 600, 450, true);
add_image_size('anirohotellight-thumb', 440, 440, true);
// Add other useful image sizes for use through Add Media modal
add_image_size('customlarge', 1040, 600, true);
// Register the three useful image sizes for use in Add Media modal
add_filter('image_size_names_choose', 'anirohotellight_wpshout_custom_sizes');
function anirohotellight_wpshout_custom_sizes($sizes) {
return array_merge($sizes, array(
'customlarge' => esc_html__('Custom Large 1040x600', 'aniro-hotel-light'),
));
}
// This theme uses wp_nav_menu() in one location.
register_nav_menus(array(
'menu-1' => esc_html__('Primary', 'aniro-hotel-light'),
));
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support('html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
));
// Add theme support for selective refresh for widgets.
add_theme_support('customize-selective-refresh-widgets');
// Add support for Block Styles.
add_theme_support('wp-block-styles');
// Add support for full and wide align images.
add_theme_support('align-wide');
// Add support for editor styles.
add_theme_support('editor-styles');
// Enqueue editor styles.
add_editor_style('inc/editor-style.css');
// Add custom editor font sizes.
add_theme_support(
'editor-font-sizes',
array(
array(
'name' => __('Small', 'aniro-hotel-light'),
'shortName' => __('S', 'aniro-hotel-light'),
'size' => 12,
'slug' => 'small',
),
array(
'name' => __('Normal', 'aniro-hotel-light'),
'shortName' => __('N', 'aniro-hotel-light'),
'size' => 16,
'slug' => 'normal',
),
array(
'name' => __('Large', 'aniro-hotel-light'),
'shortName' => __('L', 'aniro-hotel-light'),
'size' => 32,
'slug' => 'large',
),
array(
'name' => __('Huge', 'aniro-hotel-light'),
'shortName' => __('XL', 'aniro-hotel-light'),
'size' => 48,
'slug' => 'huge',
),
)
);
// Editor color palette.
add_theme_support('editor-color-palette', array(
array(
'name' => __('Main color', 'aniro-hotel-light'),
'slug' => 'main-color',
'color' => ' #d2691e ',
),
array(
'name' => __('White color', 'aniro-hotel-light'),
'slug' => 'white-color',
'color' => ' #fff ',
),
));
// Disables custom colors in block color palette.
add_theme_support('disable-custom-colors');
// Add support for responsive embedded content.
add_theme_support('responsive-embeds');
}
endif;
add_action('after_setup_theme', 'anirohotellight_setup');
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function anirohotellight_content_width() {
$GLOBALS['content_width'] = apply_filters('anirohotellight_content_width', 640);
}
add_action('after_setup_theme', 'anirohotellight_content_width', 0);
/**
*anirohotellight default options
*/
function anirohotellight_default_options() {
$default_options = anirohotellight_default_theme_options();
foreach ($default_options as $key => $value) {
if (!esc_html(get_theme_mod($key))) {
set_theme_mod($key, $value);
}
}
}
add_action('after_setup_theme', 'anirohotellight_default_options');
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function anirohotellight_widgets_init() {
//Sidebar
register_sidebar(array(
'name' => esc_html__('Sidebar', 'aniro-hotel-light'),
'id' => 'sidebar-widgets',
'description' => esc_html__('Add widgets here.', 'aniro-hotel-light'),
'before_widget' => '',
'before_title' => '
'
));
//Sidedar for place widget 'anirohotellight: Contact info' on contact page
register_sidebar(array(
'name' => esc_html__('Contact Page Widget', 'aniro-hotel-light'),
'id' => 'contact-widgets',
'description' => esc_html__('Contact Page Widget area appears in the contact page.', 'aniro-hotel-light'),
'before_widget' => '',
'before_title' => '',
));
//Footer full width widget
register_sidebar(array(
'name' => esc_html__('Footer full width Widgets', 'aniro-hotel-light'),
'id' => 'footer-full-widgets',
'description' => esc_html__('Footer widgets area for widgets "WP Instagram Widget" and "MailChimp for WordPress".', 'aniro-hotel-light'),
'before_widget' => '',
'before_title' => '',
));
//Footer sidebar
register_sidebar(array(
'name' => esc_html__('Footer Widgets', 'aniro-hotel-light'),
'id' => 'footer-widgets',
'description' => esc_html__('Footer widgets area appears in the footer of the site.', 'aniro-hotel-light'),
'before_widget' => '',
'before_title' => '',
));
}
add_action('widgets_init', 'anirohotellight_widgets_init');
/**
* Create the required Google Fonts for Aniro Hotel.
*/
if (!function_exists('anirohotellight_fonts_url')) {
function anirohotellight_fonts_url($font) {
$fonts_url = '';
/*
Translators: If there are characters in your language that are not supported
by chosen font(s), translate this to 'off'. Do not translate into your own language.
*/
$google_fonts_array = anirohotellight_google_fonts_array();
if ('off' !== _x('on', 'Google font: on or off', 'aniro-hotel-light')) {
foreach ($google_fonts_array as $key => $value) {
if ($font === $key) {
$fonts_url = add_query_arg('family', $value, "https://fonts.googleapis.com/css");
}
}
}
return esc_url_raw($fonts_url);
}
}// Endif function_exists()
/**
* Enqueue scripts and styles.
*/
function anirohotellight_scripts() {
wp_enqueue_style('anirohotellight-style', get_stylesheet_uri());
//Add style for magnific-popup
wp_enqueue_style('magnific-popup-style', get_template_directory_uri().'/css/magnific-popup.css', array(), '1.0.0', 'all');
//Add style for animate css
wp_enqueue_style('animate-style', get_template_directory_uri().'/css/animate.min.css', array(), '1.0.0', 'all');
//Add style for slick slider
wp_enqueue_style('slick-style', get_template_directory_uri().'/css/slick/slick.css', array(), '1.8.0', 'all');
// Add Google fonts
$google_fonts_array = anirohotellight_google_fonts_array();
foreach ($google_fonts_array as $key => $value) {
if (get_theme_mod('anirohotellight_google_font_setting_body') === $key) {
wp_enqueue_style('anirohotellight-google-font-body', anirohotellight_fonts_url($key), array(), null);
}
if (get_theme_mod('anirohotellight_google_font_setting_header') === $key) {
wp_enqueue_style('anirohotellight-google-font-header', anirohotellight_fonts_url($key), array(), null);
}
}
// Add FontAwesome
wp_enqueue_style('fontawesome', get_template_directory_uri().'/fonts/css/all.min.css', array(), '5.9.0', 'all');
wp_enqueue_script('anirohotellight-navigation', get_template_directory_uri().'/js/navigation.js', array('jquery'), '20160206', true);
wp_localize_script('anirohotellight-navigation', 'screenReaderText', array(
'expand' => ''.__('expand child menu', 'aniro-hotel-light').' ',
'collapse' => ''.__('collapse child menu', 'aniro-hotel-light').' ',
));
wp_enqueue_script('enquire', get_template_directory_uri().'/js/enquire.min.js', array(), '2.1.2', true);
//Masonry
wp_enqueue_script('masonry');
wp_enqueue_script('masonry-settings', get_template_directory_uri().'/js/masonry-settings.js', array('masonry', 'enquire'), '20170428', true);
wp_enqueue_script('anirohotellight-skip-link-focus-fix', get_template_directory_uri().'/js/skip-link-focus-fix.js', array(), '20151215', true);
//Add magnific-popup
wp_enqueue_script('magnific-popup', get_template_directory_uri().'/js/jquery.magnific-popup.min.js', array(), '1.0.0', true);
//Add wow js
wp_enqueue_script('wow', get_template_directory_uri().'/js/wow.min.js', array(), '1.0.0', true);
//Add blazy
wp_enqueue_script('blazy', get_template_directory_uri().'/js/blazy.min.js', array('jquery'), '1.0.0', true);
//Add js for Slick
wp_enqueue_script('slick', get_template_directory_uri().'/js/slick.min.js', array('jquery'), '2.2.0', true);
//Retina
wp_enqueue_script('retina_js', get_template_directory_uri().'/js/retina.min.js', array(), '1.2.0', true);
wp_enqueue_script('anirohotellight-javascript', get_template_directory_uri().'/js/functions.js', array('jquery'), '20160217', true);
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
add_action('wp_enqueue_scripts', 'anirohotellight_scripts');
/**
* Implement the Custom Header feature.
*/
require get_template_directory().'/inc/custom-header.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory().'/inc/template-tags.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory().'/inc/extras.php';
/**
* Implement the custom functions for this theme.
*/
require get_template_directory().'/inc/inc-functions.php';
/**
* Customize theme.
*/
require get_template_directory().'/inc/customize.php';
/**
* Customizer additions.
*/
require get_template_directory().'/inc/customizer/customizer.php';
/**
* Load Jetpack compatibility file.
*/
require get_template_directory().'/inc/jetpack.php';
/**
* Widget tag cloud - make all letters one size.
*/
add_filter('widget_tag_cloud_args', 'anirohotellight_set_tag_cloud_args');
function anirohotellight_set_tag_cloud_args($args) {
$args['number'] = 30;
$args['largest'] = 1;
$args['smallest'] = 1;
$args['unit'] = 'em';
return $args;
}
/**
* Widget categories - delete brackets.
*/
function anirohotellight_categories_postcount_filter($variable) {
$variable = str_replace('(', ' ', $variable);
$variable = str_replace(')', ' ', $variable);
return $variable;
}
add_filter('wp_list_categories', 'anirohotellight_categories_postcount_filter');
/**
* Widget archive - delete brackets.
*/
function anirohotellight_archive_postcount_filter($variable) {
$variable = str_replace('(', ' ', $variable);
$variable = str_replace(')', ' ', $variable);
return $variable;
}
add_filter('get_archives_link', 'anirohotellight_archive_postcount_filter');
/**
* Add WordPress image uploader
*/
function anirohotellight_image_uploader() {
if (!did_action('wp_enqueue_media')) {
wp_enqueue_media();
}
wp_enqueue_script('anirohotellight_image_uploader_script', get_stylesheet_directory_uri().'/js/anirohotellight-image-uploader.js', array('jquery'), null, false);
wp_enqueue_style('anirohotellight_image_uploader_style', get_template_directory_uri().'/css/anirohotellight-image-uploader.css');
}
add_action('admin_enqueue_scripts', 'anirohotellight_image_uploader');
/**
* Add more information about author to user profile
*/
function anirohotellight_wptuts_contact_methods($contactmethods) {
// Add some useful ones
$contactmethods['twitter'] = 'Twitter Username';
$contactmethods['facebook'] = 'Facebook Profile URL';
$contactmethods['linkedin'] = 'LinkedIn Public Profile URL';
$contactmethods['googleplus'] = 'Google+ Profile URL';
return $contactmethods;
}
add_filter('user_contactmethods', 'anirohotellight_wptuts_contact_methods');
/**
* Include the TGM_Plugin_Activation.
*/
require_once get_template_directory().'/plugins/tgm/tgm.php';
//WooCommerce
add_action('after_setup_theme', 'anirohotellight_woocommerce_support');
function anirohotellight_woocommerce_support() {
add_theme_support('woocommerce');
}
/**
* Ability to upload images for the elements of the specified taxonomies: categories, tags.
*
* Example of obtaining the ID and URL of the image of the term:
* $image_id = get_term_meta( $term_id, '_thumbnail_id', 1 );
* $image_url = wp_get_attachment_image_url( $image_id, 'thumbnail' );
*
* @author: Kama (http://wp-kama.ru)
*
* @ver: 2.8
*/
if (is_admin() && !class_exists('Anirohotellight_Term_Meta_Image')) {
// init
add_action('admin_init', 'Anirohotellight_Term_Meta_Image_init');
function Anirohotellight_Term_Meta_Image_init() {
$GLOBALS['Anirohotellight_Term_Meta_Image'] = new Anirohotellight_Term_Meta_Image();
}
class Anirohotellight_Term_Meta_Image {
// for which taxonomies to include the code. By default for all public
static $taxes = array();
// example: array('category', 'post_tag');
// meta key name
static $meta_key = '_thumbnail_id';
// URL of the blank image
static $add_img_url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAABlBMVEUAAAC7u7s37rVJAAAAAXRSTlMAQObYZgAAACJJREFUOMtjGAV0BvL/G0YMr/4/CDwY0rzBFJ704o0CWgMAvyaRh+c6m54AAAAASUVORK5CYII=';
public function __construct() {
if (isset($GLOBALS['Anirohotellight_Term_Meta_Image'])) {return $GLOBALS['Anirohotellight_Term_Meta_Image'];
}
// once
$taxes = self::$taxes?self::$taxes:get_taxonomies(array('public' => true), 'names');
foreach ($taxes as $taxname) {
add_action("{$taxname}_add_form_fields", array(&$this, 'add_term_image'), 10, 2);
add_action("{$taxname}_edit_form_fields", array(&$this, 'update_term_image'), 10, 2);
add_action("created_{$taxname}", array(&$this, 'save_term_image'), 10, 2);
add_action("edited_{$taxname}", array(&$this, 'updated_term_image'), 10, 2);
add_filter("manage_edit-{$taxname}_columns", array(&$this, 'add_image_column'));
add_filter("manage_{$taxname}_custom_column", array(&$this, 'fill_image_column'), 10, 3);
}
}
## fields when creating a term
public function add_term_image($taxonomy) {
wp_enqueue_media();// connect media styles if there are none
add_action('admin_print_footer_scripts', array(&$this, 'add_script'), 99);
$this->css();
?>
term_id, self::$meta_key, true);
$image_url = $image_id?wp_get_attachment_image_url($image_id, 'thumbnail'):self::$add_img_url;
$this->css();
?>
.column-image{ width:50px; text-align:center; }';
});
$num = 1;// after which column on the account to insert
$new_columns = array('image' => '');// column without a title ...
return array_slice($columns, 0, $num)+$new_columns+array_slice($columns, $num);
}
public function fill_image_column($string, $column_name, $term_id) {
// if there is a picture
if ($image_id = get_term_meta($term_id, self::$meta_key, 1)) {
$string = ' ';
}
return $string;
}
## Save the form field
public function save_term_image($term_id, $tt_id) {
if (isset($_POST['term_imgid']) && $image = (int) $_POST['term_imgid']) {
add_term_meta($term_id, self::$meta_key, $image, true);
}
}
## Update the form field value
public function updated_term_image($term_id, $tt_id) {
if (!isset($_POST['term_imgid'])) {return;
}
if ($image = (int) $_POST['term_imgid']) {
update_term_meta($term_id, self::$meta_key, $image);
} else {
delete_term_meta($term_id, self::$meta_key);
}
}
}
}
/**
* acf
*/
add_filter('acf/settings/load_json', 'anirohotellight_acf_json_load_point');
function anirohotellight_acf_json_load_point($paths) {
// remove original path (optional)
unset($paths[0]);
// append path
$paths[] = get_stylesheet_directory().'/acf-json';
// return
return $paths;
}