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;
}