/** * General Functions * */ defined( 'ABSPATH' ) || exit; // Exit if accessed directly /** * Get the components of theme mobile header */ if( ! function_exists( 'tie_mobile_header_components' ) ) { function tie_mobile_header_components( $area ){ $mobile_header_components = array( 'menu' => tie_mobile_menu_icon(), 'search' => ' '. esc_html__( 'Search for', TIELABS_TEXTDOMAIN ) .' ', 'skin' => ' '. esc_html__( 'Switch skin', TIELABS_TEXTDOMAIN ) .' ', ); // Login and user account if( is_user_logged_in() ){ ob_start(); tie_login_form(); $login_form = ob_get_clean(); $current_user = wp_get_current_user(); $mobile_header_components['login'] = ' '. get_avatar( $current_user->ID, apply_filters( 'TieLabs/Login/avatar_size', 30 ) ) .' '. esc_html__( 'Your Profile', TIELABS_TEXTDOMAIN ) .'
'. $login_form .'
'; } else { $mobile_header_components['login'] = ' '. esc_html__( 'Log In', TIELABS_TEXTDOMAIN ) .' '; } // WooCommerce Cart if ( TIELABS_WOOCOMMERCE_IS_ACTIVE ){ $mobile_header_components['cart'] = tie_component_button_cart(); } // BuddyPress if ( TIELABS_BUDDYPRESS_IS_ACTIVE ){ $mobile_header_components['bp_notifications'] = tie_component_button_bp_notifications(); } // Check the active components $components = array(); foreach ( $mobile_header_components as $key => $html ) { if( tie_get_option( 'mobile_header_components_'.$key ) == $area ){ $components[ $key ] = ''; } } // $components = apply_filters( 'TieLabs/Mobile/Header/Components', $components, $area ); if( ! empty( $components ) ){ echo '
'; echo ''; echo '
'; } // If Header layout is centered we need to place the div even if it is empty || FLEX elseif ( tie_get_option( 'mobile_header' ) == 'centered' ) { echo '
'; } return false; } } /** * Mobile Menu icon */ if( ! function_exists( 'tie_mobile_menu_icon' ) ) { function tie_mobile_menu_icon(){ if( ! tie_get_option( 'mobile_header_components_menu' ) ){ return false; } $menu_icon = tie_get_option( 'mobile_menu_icon', 1 ); $class = 'tie-mobile-menu-icon '; if( is_numeric( $menu_icon ) ){ $class .= "nav-icon is-layout-$menu_icon"; } else{ $class .= "tie-icon-$menu_icon"; } $class_wrapper = tie_get_option( 'mobile_menu_text' ) ? 'menu-text-wrapper' : ''; $mobile_icon = ''; $mobile_icon .= ''; if( tie_get_option( 'mobile_menu_text' ) ){ $mobile_icon .= ''. esc_html__( 'Menu', TIELABS_TEXTDOMAIN ) .''; } else{ $mobile_icon .= ''. esc_html__( 'Menu', TIELABS_TEXTDOMAIN ) .''; } $mobile_icon .= ''; return $mobile_icon; } } /** * Mobile Header Components Main area */ if( ! function_exists( 'tie_mobile_header_components_area_1' ) ) { add_action( 'TieLabs/Logo/before', 'tie_mobile_header_components_area_1' ); function tie_mobile_header_components_area_1(){ tie_mobile_header_components( 'area_1' ); } } /** * Mobile Header Components */ if( ! function_exists( 'tie_mobile_header_components_area_2' ) ) { add_action( 'TieLabs/Logo/after', 'tie_mobile_header_components_area_2' ); function tie_mobile_header_components_area_2(){ tie_mobile_header_components( 'area_2' ); } }/** * Filters * */ defined( 'ABSPATH' ) || exit; // Exit if accessed directly class TIELABS_FILTERS { /** * Runs on class initialization. Adds filters and actions. */ function __construct() { // Add Support for Shortcodes in the terms descriptions add_filter( 'term_description', 'do_shortcode' ); add_action( 'init', array( $this, 'init_hook' ) ); add_action( 'init', array( $this, 'redirect_random_post' ) ); add_action( 'wp_head', array( $this, 'meta_description' ) ); add_action( 'wp_head', array( $this, 'meta_generator' ) ); add_action( 'wp_head', array( $this, 'x_ua_compatible' ) ); add_action( 'wp_footer', array( $this, 'footer_inline_scripts' ), 999 ); add_action( 'wp_footer', array( $this, 'footer_misc' ) ); add_action( 'wp_footer', array( $this, 'popup_module' ) ); add_action( 'comment_class', array( $this, 'is_avatar_enabled' ) ); add_filter( 'pre_get_posts', array( $this, 'search_filters' ) ); add_filter( 'pre_get_posts', array( $this, 'category_posts_order' ) ); add_filter( 'TieLabs/cache_key', array( $this, 'cache_key' ) ); add_filter( 'widget_tag_cloud_args', array( $this, 'tag_widget_limit' ) ); add_filter( 'widget_title', array( $this, 'tagcloud_widget_title' ), 10, 3 ); add_filter( 'login_headerurl', array( $this, 'dashboard_login_logo_url' ) ); add_filter( 'login_head', array( $this, 'dashboard_login_logo' ) ); add_filter( 'get_the_archive_title', array( $this, 'archive_title' ), 15 ); add_filter( 'wp_link_pages_args', array( $this, 'pages_next_and_number' ) ); add_filter( 'excerpt_more', array( $this, 'excerpt_more' ) ); add_filter( 'get_the_excerpt', array( $this, 'post_excerpt' ), 9 ); add_filter( 'has_post_thumbnail', array( $this, 'has_post_thumbnail' ) ); add_filter( 'post_thumbnail_html', array( $this, 'default_featured_image' ), 10, 5 ); add_filter( 'TieLabs/exclude_content', 'TIELABS_HELPER::strip_shortcodes' ); add_filter( 'wp_get_attachment_image_src', array( $this, 'gif_image' ), 10, 4 ); add_filter( 'wp_get_attachment_image_attributes', array( $this, 'small_thumb_image_class' ), 10, 3 ); add_filter( 'TieLabs/Primary_Category/custom', array( $this, 'yoast_seo_primary_category' ) ); // Translations if( tie_get_option( 'translations' ) ){ add_filter( 'gettext', array( $this, 'theme_translation' ), 10, 3 ); } if( tie_get_option( 'translation_numbers' ) ){ add_filter( 'get_the_date', array( $this, 'translate_numbers' ), 55 ); add_filter( 'get_comment_date', array( $this, 'translate_numbers' ), 55 ); add_filter( 'get_comment_time', array( $this, 'translate_numbers' ), 55 ); add_filter( 'comments_number', array( $this, 'translate_numbers' ), 55 ); add_filter( 'wp_list_categories', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/number_format', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/post_date', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/reading_time', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/post_views_number', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/Social_Counters/number', array( $this, 'translate_numbers' ), 55 ); add_filter( 'TieLabs/Weather/number', array( $this, 'translate_numbers' ), 55 ); } } /** * init_hook */ function init_hook(){ /*if( current_user_can( 'manage_options' ) ){ add_filter( 'the_content', array( $this, 'shortcodes_notice' ) ); } */ //WordPress doesn't recognize it as RTL language because there is an error in the main translation file of the Sindhi language! if( get_locale() == 'snd' && ! is_rtl() ){ global $wp_locale; $wp_locale->text_direction = 'rtl'; } } /** * Add notice for the shortcodes plugin */ function shortcodes_notice( $content ){ // Don't show the message if this is excerpt OR backend OR AMP if( is_admin() || ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) || in_array( 'parse_request', $GLOBALS['wp_current_filter'] ) || in_array( 'get_the_excerpt', $GLOBALS['wp_current_filter'] ) ){ return $content; } $message = ''; // Timetable and Event Schedule Plugin if( ! TIELABS_MPTIMETABLE_IS_ACTIVE ){ if( strpos( $content, '[mp-timetable' ) !== false ){ $message .= TIELABS_HELPER::notice_message( sprintf( esc_html__( 'This section contains some shortcodes that requries the %2$s%1$s%3$s Plugin.', TIELABS_TEXTDOMAIN ), 'Timetable and Event Schedule', '', '' ), false ); } } // Contact Form 7 Plugin if( ! class_exists( 'WPCF7' ) ){ if( strpos( $content, '[contact-form-7' ) !== false ){ $message .= TIELABS_HELPER::notice_message( sprintf( esc_html__( 'This section contains some shortcodes that requries the %2$s%1$s%3$s Plugin.', TIELABS_TEXTDOMAIN ), 'Contact Form 7', '', '' ), false) ; } } // Return the content with message return apply_filters( 'TieLabs/shortcodes_check', $message, $content ) . $content; } /** * x_ua_compatible */ function x_ua_compatible(){ echo ''; } /** * meta_escription */ function meta_description(){ // Return if the description option is disabled or the Yoast SEO or Rank Math SEO plugins are active if( ! tie_get_option( 'post_meta_escription' ) || class_exists( 'WPSEO_Frontend' ) || class_exists( 'RankMath' ) ){ return; } // Single Page doesn't have a builder if( is_singular() && ! TIELABS_HELPER::has_builder() ){ $post = get_post(); if( ! empty( $post->post_content ) ){ $description = apply_filters( 'TieLabs/exclude_content', $post->post_content ); } } // Archives elseif( get_the_archive_description() ){ $description = get_the_archive_description(); } // Default if( empty( $description ) ){ $description = get_bloginfo( 'description' ); } if( ! empty( $description ) ){ $description = strip_tags( strip_shortcodes( $description ) ); echo ' '; } } /** * Theme translations */ function theme_translation( $translation, $text, $domain ){ if( $domain == TIELABS_TEXTDOMAIN || $domain == 'amp' ){ $translations = tie_get_option( 'translations' ); if( ! empty( $translations ) ){ // To minimize the calls of sanitize_title $sanitize_text = sanitize_title( htmlspecialchars( $text ) ); if( ! empty( $translations[ $sanitize_text ] ) ){ return htmlspecialchars_decode( $translations[ $sanitize_text ] ); } } } return $translation; } /** * Add the inline scripts to the Footer */ function footer_inline_scripts(){ // Check if we are in an AMP page if( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ){ return; } // Print the inline scripts if the BWP is active if( ! empty( $GLOBALS['tie_inline_scripts'] ) && TIELABS_HELPER::is_js_minified() ){ echo ''; } } /** * Add Misc Footer Conetnt */ function footer_misc(){ // Check if we are in an AMP page if( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ){ return; } // Custom Footer Code if ( tie_get_option( 'footer_code' ) ){ echo do_shortcode( apply_filters( 'TieLabs/footer_code', tie_get_option( 'footer_code' ) ) ); } // Reading Position Indicator if ( tie_get_option( 'reading_indicator' ) && is_single() && ! tie_get_option( 'autoload_posts' ) ){ echo '
'; } // Live Search if( tie_menu_has_search( 'top_nav', true ) || tie_menu_has_search( 'main_nav', true ) || ( tie_get_option( 'mobile_header_components_search') && tie_get_option( 'mobile_header_live_search') ) ){ echo '
'; } // Scrollbar - Used to get the default scrollbar width. echo '
'; // Facebook buttons echo '
'; } /** * Add the Popup module to the footer */ function popup_module(){ // Check if we are in an AMP page if( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ){ return; } TIELABS_HELPER::get_template_part( 'templates/popup' ); } /** * Add an extra class to the comment item if the avatar is active */ function is_avatar_enabled( $classes ){ if( is_array( $classes ) && get_option( 'show_avatars' ) ){ $classes[] = 'has-avatar'; } return $classes; } /** * Exclude post types and categories From Search results */ function search_filters( $query ){ if( is_admin() || isset( $_GET['post_type'] ) ){ return $query; } if( is_search() && $query->is_main_query() ){ // Exclude Post types from search if ( ($exclude_post_types = tie_get_option( 'search_exclude_post_types' )) && is_array( $exclude_post_types ) ){ $args = array( 'public' => true, 'exclude_from_search' => false, ); $post_types = get_post_types( $args ); foreach ( $exclude_post_types as $post_type ){ unset( $post_types[ $post_type ] ); } $query->set( 'post_type', $post_types ); } // Exclude specific categoies from search if ( tie_get_option( 'search_cats' ) ){ $query->set( 'cat', tie_get_option( 'search_cats' ) ); } } return $query; } /** * Change the posts order in the category page */ function category_posts_order( $query ){ if( ! is_admin() && is_category() && $query->is_main_query() ){ $current_category = get_queried_object(); if( ! empty( $current_category->term_id ) ){ $posts_order = tie_get_category_option( 'posts_order', $current_category->term_id ); // Posts Order if( ! empty( $posts_order ) ){ if( $posts_order == 'views' && tie_get_option( 'tie_post_views' ) ){ // Most Viewd posts $query->set( 'orderby', 'meta_value_num' ); $query->set( 'meta_key', apply_filters( 'TieLabs/views_meta_field', 'tie_views' ) ); } elseif( $posts_order == 'popular' ){ // Popular Posts by comments $query->set( 'orderby', 'comment_count' ); } elseif( $posts_order == 'title' ){ $query->set( 'orderby', 'title' ); $query->set( 'order', 'ASC' ); } else{ $query->set( 'orderby', $posts_order ); } } } } return $query; } /** * Random Article */ function redirect_random_post(){ if( wp_doing_ajax() ){ return; } if( isset( $_GET['random-post'] ) && ( tie_get_option( 'top-nav-components_random' ) || tie_get_option( 'main-nav-components_random' ) ) ) { $args = array( 'posts_per_page' => 1, 'orderby' => 'rand', 'fields' => 'ids', 'no_found_rows' => true, 'ignore_sticky_posts' => true, ); $random_post = new WP_Query ( $args ); while ( $random_post->have_posts () ){ $random_post->the_post(); wp_redirect( get_permalink() ); exit; } } } /** * Widgets Small Image Class * * By default WordPress uses 2 classes attachment-{size} size-{size} * we need to add a general class doesn't linked with the thumb name */ function small_thumb_image_class( $attr, $attachment, $size = false ) { if( ! empty( $size ) && $size == TIELABS_THEME_SLUG.'-image-small' ){ $attr['class'] .= ' tie-small-image'; } return $attr; } /** * Gif images */ function gif_image( $image, $attachment_id, $size, $icon ){ if( ! tie_get_option( 'disable_featured_gif' ) ){ $file_type = ! empty( $image[0] ) ? wp_check_filetype( $image[0] ) : false; if( ! empty( $file_type ) && $file_type['ext'] == 'gif' && $size != 'full' ){ $full_image = wp_get_attachment_image_src( $attachment_id, $size = 'full', $icon ); // For the avatars we need to keep the original width and height if( ! empty( $full_image ) && in_array( 'get_avatar', $GLOBALS['wp_current_filter'] ) ){ $full_image[1] = $image[1]; $full_image[2] = $image[2]; } return $full_image; } } return $image; } /** * Modify Excerpts */ function post_excerpt( $text = '' ){ $raw_excerpt = $text; if ( '' == $text ){ //$text = get_the_content( '' ); // Causes issues with the new Posts List Blocks $_post = get_post(); $text = ! empty( $_post->post_content ) ? $_post->post_content : ''; $text = apply_filters( 'TieLabs/exclude_content', $text ); /** * If images with class wp-image-{ID} exists in the conetnt, WordPress make a DB request to get andd add the srcset * Since we are in excerpt we don't need that, Great affect on archives pages */ $text = str_replace( 'wp-image-', 'tie-image', $text ); $text = strip_shortcodes( $text ); $text = apply_filters( 'the_content', $text ); $text = str_replace( ']]>', ']]>', $text ); $excerpt_length = apply_filters( 'excerpt_length', 55 ); $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' ); $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); } return apply_filters( 'wp_trim_excerpt', $text, $raw_excerpt ); } /** * Global Cache Key */ function cache_key( $key ){ return 'tie-cache-'. TIELABS_HELPER::get_locale() . $key; } /** * Change the number of tags in the cloud tags */ function tag_widget_limit( $args ){ if( isset($args['taxonomy']) && $args['taxonomy'] == 'post_tag' ){ $args['number'] = 18; } return $args; } /** * Remove the default Tag CLoud titles if the title field is empty */ function tagcloud_widget_title( $title = false, $instance = false, $id_base = false ){ if( $id_base == 'tag_cloud' && empty( $instance['title'] ) ){ return false; } return $title; } /** * Custom Dashboard login URL */ function dashboard_login_logo_url(){ if( tie_get_option( 'dashboard_logo_url' ) ){ return tie_get_option( 'dashboard_logo_url' ); } } /** * Custom Dashboard login page logo */ function dashboard_login_logo(){ if( tie_get_option( 'dashboard_logo' ) ){ echo ''; } } /** * Remove anything that looks like an archive title prefix ("Archive:", "Foo:", "Bar:"). */ function archive_title( $title ){ if ( is_category() ) { return single_cat_title( '', false ); } elseif ( is_tag() ) { return single_tag_title( '', false ); } elseif ( is_author() ) { return '' . get_the_author() . ''; } elseif ( is_post_type_archive() ) { return post_type_archive_title( '', false ); } elseif ( is_tax() ) { return single_term_title( '', false ); } return $title; } /** * Add Number and Next / prev multiple post pages */ function pages_next_and_number( $args ){ if( $args['next_or_number'] == 'next_and_number' ){ global $page, $numpages, $multipage, $more; $args['next_or_number'] = 'number'; $prev = ''; $next = ''; if ( $multipage && $more ){ $i = $page - 1; if ( $i && $more ){ $prev .= _wp_link_page($i); $prev .= $args['link_before']. $args['previouspagelink'] . $args['link_after'] . ''; } $i = $page + 1; if ( $i <= $numpages && $more ){ $next .= _wp_link_page($i); $next .= $args['link_before']. $args['nextpagelink'] . $args['link_after'] . ''; } } $args['before'] = $args['before'].$prev; $args['after'] = $next.$args['after']; } return $args; } /** * Excerpt More */ function excerpt_more( $more ){ return ' …'; } /** * Theme Generator Meta */ function meta_generator(){ $active_theme = wp_get_theme(); if ( is_child_theme() ) { $active_theme = wp_get_theme( $active_theme->Template ); } if( ! empty( $active_theme->Name ) ){ $theme_info = apply_filters( 'TieLabs/theme_meta_generator', $active_theme->Name .' '. TIELABS_DB_VERSION ); if( ! empty( $theme_info ) ){ echo "\n" . "" . "\n"; } } } /** * If the post doesn't have a Primary Category, use the Primary Category of Yoast if it is available */ function yoast_seo_primary_category( $category = false ){ if( class_exists( 'WPSEO_Meta' ) ){ $wpseo_primary_term = get_post_meta( get_the_id(), WPSEO_Meta::$meta_prefix . 'primary_category', true ); if( ! empty( $wpseo_primary_term ) ){ $get_the_category = TIELABS_WP_HELPER::get_term_by( 'id', $wpseo_primary_term, 'category' ); if ( ! empty( $get_the_category ) && ! is_wp_error( $get_the_category ) ) { return $get_the_category; } } } return false; } /** * Always return true, If there is a default featured image */ function has_post_thumbnail( $has_thumbnail ) { if( tie_get_option( 'default_featured_image' ) && tie_get_option( 'default_featured_image_id' ) ){ $has_thumbnail = true; } return $has_thumbnail; } /** * Set a default featured image if it is missing */ function default_featured_image( $html, $post_id, $post_thumbnail_id, $size, $attr ) { // Return if the post has a featured image if( ! empty( $html ) ){ return $html; } // Check if the default eatured image option is active if( ! tie_get_option( 'default_featured_image' ) || ! tie_get_option( 'default_featured_image_id' ) ){ return $html; } $default_thumbnail_id = tie_get_option( 'default_featured_image_id' ); // select the default thumb. return wp_get_attachment_image( $default_thumbnail_id, $size, false, $attr ); } /** * Translate numbers */ function translate_numbers( $the_number ) { if( ! ( is_admin() && ! wp_doing_ajax() ) ) { $translated_numbers = tie_get_option( 'translation_numbers' ); if( ! empty( $translated_numbers ) && is_array( $translated_numbers ) && count( $translated_numbers ) == 10 ){ $original_numbers = array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ); return str_replace( $original_numbers, $translated_numbers, $the_number ); } } return $the_number; } } // Single instance. $TIELABS_FILTERS = new TIELABS_FILTERS();/** * Taqyeem Class * */ defined( 'ABSPATH' ) || exit; // Exit if accessed directly if( ! class_exists( 'TIELABS_TAQYEEM' ) ) { class TIELABS_TAQYEEM{ /** * __construct * * Class constructor where we will call our filter and action hooks. */ function __construct(){ // Disable if the Taqyeem plugin is not active if( ! TIELABS_TAQYEEM_IS_ACTIVE ){ return; } // Disable the Custom Styles and Typofraphy options add_filter( 'taqyeem_custom_styles', '__return_false' ); // Disable Updater and Verification add_filter( 'Taqyeem/Updater/disable', '__return_true' ); add_filter( 'Taqyeem/Verification/disable', '__return_true' ); // Disable the plugin Rich Snippets add_filter( 'tie_taqyeem_rich_snippets', '__return_false' ); // Remove Shortcodes code and Keep the content add_filter( 'taqyeem_exclude_content', 'TIELABS_HELPER::strip_shortcodes' ); // Dequeue Scripts and Styles add_filter( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 50 ); // Dequeue Scripts and Styles add_filter( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ), 50 ); // Change the reviews head box class add_filter( 'taqyeem_reviews_head_classes', array( $this, 'review_head_class' ) ); // Alter the Queries add_filter( 'TieLabs/Query/args', array( $this, 'best_reviews_query' ), 10, 2 ); // Alter the Related Posts Query add_filter( 'TieLabs/related_posts_query', array( $this, 'related_posts_query' ) ); // Alter the Check Also box Query add_filter( 'TieLabs/checkalso_query', array( $this, 'checkalso_query' ) ); // Default Widgets Posts Thumb Size add_filter( 'tie_taqyeem_widget_thumb_size', array( $this, 'reviews_thumb_size' ) ); // Allow the Rview Rich Snippet on Pages add_filter( 'TieLabs/is_page_rich_snippet', array( $this, 'rich_snippet_for_page' ) ); // Change the Review Rich Snippet add_filter( 'TieLabs/rich_snippet_schema', array( $this, 'review_rich_snippet' ) ); // Add Best Reviews to the post order option menu. add_filter( 'TieLabs/Options/Related/post_order_args', array( $this, 'posts_order_args' ) ); add_filter( 'TieLabs/Options/Checkalso/post_order_args', array( $this, 'posts_order_args' ) ); add_filter( 'TieLabs/Builder/Block/post_order_args', array( $this, 'posts_order_args' ) ); add_filter( 'TieLabs/Settings/Category/posts_order', array( $this, 'posts_order_args' ) ); add_filter( 'TieLabs/Widget/Slider/post_order_args', array( $this, 'posts_order_args' ) ); add_filter( 'TieLabs/Widget/Posts/post_order_args', array( $this, 'posts_order_args_2' ) ); // Prevent Taqyeem from displaying the review box in the content block in the builder add_action( 'TieLabs/Builder/before', array( $this, 'remove_review_block' ) ); // Replace the old icon classes with the new classes of Font Awesome 5.0 add_filter( 'taqyeem_buttons_icon', array( $this, 'replace_icon_fa5' ) ); } /** * Allow the Rview Rich Snippet on Pages */ function rich_snippet_for_page(){ if( tie_get_postdata( 'taq_review_position' ) ){ return true; } } /** * Change the Review Rich Snippet */ function review_rich_snippet( $schema ){ // Check if the Taqyeem Structured Data is active, current post has review and the Taqyeem version is >= 2.3.0 if( ! taqyeem_get_option( 'structured_data' ) || ! tie_get_postdata( 'taq_review_position' ) || ! function_exists( 'taqyeem_review_get_rich_snippet' ) ){ return $schema; } // Unset some data unset( $schema['articleBody'] ); unset( $schema['articleSection'] ); // Get the Review structure data $review_rich_snippet = taqyeem_review_get_rich_snippet(); if( $review_rich_snippet['@type'] == 'product' ){ $schema = $review_rich_snippet; } else{ // Add the data to the post structure data $schema['@type'] = 'review'; $schema['itemReviewed'] = $review_rich_snippet['itemReviewed']; $schema['reviewBody'] = $review_rich_snippet['reviewBody']; $schema['reviewRating'] = $review_rich_snippet['reviewRating']; } // return the modefied data return $schema; } /** * Change the reviews head box class */ function review_head_class( $class ){ return tie_get_box_class( $class ); } /** * Alter the query for the best reviews */ function best_reviews_query( $args, $block ){ if( ! empty( $block['order'] ) && $block['order'] == 'best' ){ $args['orderby'] = 'meta_value_num'; $args['meta_key'] = 'taq_review_score'; } return $args; } /** * Alter the Related Posts Query */ function related_posts_query( $args ){ if( tie_get_option( 'related_order' ) == 'best' ){ $args['orderby'] = 'meta_value_num'; $args['meta_key'] = 'taq_review_score'; } return $args; } /** * Alter the Check Also Query */ function checkalso_query( $args ){ if( tie_get_option( 'check_also_order' ) == 'best' ){ $args['orderby'] = 'meta_value_num'; $args['meta_key'] = 'taq_review_score'; } return $args; } /** * Add Best Reviews to the post order option menu. */ function posts_order_args( $args ){ $args['best'] = esc_html__( 'Best Reviews', TIELABS_TEXTDOMAIN ); return $args; } /** * Add Best Reviews to the post order option menu. */ function posts_order_args_2( $args ){ $args['standard']['best'] = esc_html__( 'Best Reviews', TIELABS_TEXTDOMAIN ); return $args; } /** * Default Widgets Posts Thumb Size */ function reviews_thumb_size(){ return TIELABS_THEME_SLUG.'-image-small'; } /** * Prevent Taqyeem from displaying the review box in the content block in the builder */ function remove_review_block(){ remove_filter( 'the_content', 'taqyeem_insert_review' ); } /** * Dequeue Scripts and Styles */ function enqueue_scripts(){ wp_dequeue_script( 'taqyeem-main' ); wp_dequeue_style( 'taqyeem-style' ); wp_enqueue_style( 'taqyeem-styles', TIELABS_TEMPLATE_URL.'/assets/css/plugins/taqyeem'. TIELABS_STYLES::is_minified() .'.css', array(), TIELABS_DB_VERSION, 'all' ); if( ! is_admin() ){ wp_dequeue_style( 'taqyeem-fontawesome' ); } } /** * Dequeue Scripts and Styles from admin */ function admin_enqueue_scripts(){ // Don't Load the main Font Awesome file of the theme in the add/edit posts screens, avoid issue with Taqyeem Button which uses v4.0 if( function_exists( 'tie_taqyeem_button_output' ) && get_post_type() ){ wp_dequeue_style( 'tie-fontawesome' ); } } /** * Replace the old icon classes with the new classes of Font Awesome 5.0 */ function replace_icon_fa5( $icon ){ return tie_fa4_to_fa5_value_migration( $icon ); } } // Instantiate the class new TIELABS_TAQYEEM(); } Best Credit Cards of 2022: Why the Hyatt Card Was My Pick for Hotels – Baghdad Time
/** * The template part for displaying the post contents * * This template can be overridden by copying it to your-child-theme/templates/single-post/content.php. * * HOWEVER, on occasion TieLabs will need to update template files and you * will need to copy the new files to your child theme to maintain compatibility. * * @author TieLabs * @version 2.1.0 */ defined( 'ABSPATH' ) || exit; // Exit if accessed directly ?>
/** * Post Head Area * * This template can be overridden by copying it to your-child-theme/templates/single-post/head.php. * * HOWEVER, on occasion TieLabs will need to update template files and you * will need to copy the new files to your child theme to maintain compatibility. * * @author TieLabs * @version 5.0.0 */ defined( 'ABSPATH' ) || exit; // Exit if accessed directly /** * TieLabs/before_post_head hook. * */ do_action( 'TieLabs/before_post_head' ); ?>
Finance

Best Credit Cards of 2022: Why the Hyatt Card Was My Pick for Hotels

Above Article Content Ad

Hyatt has fewer resorts than its opponents like Marriott and Hilton, however loyalists love the lodge chain for its excellent service and rewarding loyalty program.

And the key many value-seekers might not know: A Hyatt award keep can value considerably fewer factors than award stays with different lodge applications. Whereas opponents like Marriott and Hilton cost as much as 100,000 factors (or extra) for the standard room at their nicest resorts, customary rooms at luxurious Hyatt properties go as much as a most of solely 45,000 factors per night time.

Outsize worth with the free night time award

Although the cardboard has an annual payment of $95 per yr, it comes with a free Hyatt award night time every year. The award may be redeemed for any Class 1-4 Hyatt lodge or resort, and the worth of that free room can usually outweigh the payment you’ll pay to hold the cardboard.

Nerdy tip: When you spend $15,000 on the cardboard in a calendar yr, you’ll earn one other free award night time good for any Class 1-4 Hyatt.

The Hyatt Regency Chesapeake Bay Golf Resort, Spa and Marina (Photograph by Erin Hurd)

Through the pandemic, our household of normally keen vacationers stayed near house. However after a protracted stretch, we had been antsy for a change of surroundings. We opted to redeem the World of Hyatt Credit score Card free night time for a “staycation” at a close-by Class 4 Hyatt property. The Hyatt Regency Chesapeake Bay Golf Resort, Spa and Marina is on Maryland’s Jap Shore about two hours from Washington, D.C. With a number of swimming pools, video games and actions all set in opposition to a scenic waterfront backdrop, it makes for an ideal household getaway.

In peak season, this in style resort can run upward of $400 per night time, however I used to be in a position to redeem my free night time certificates and paid $0 out of pocket. And since World of Hyatt members get resort charges waived on award stays, we didn’t pay the $39-per-night resort payment that will have been added had we paid money for our keep. Whereas time spent with household is priceless, I used to be certain glad to not must pony up that a lot cash to take pleasure in this resort.

The Hyatt Regency Chesapeake Bay Golf Resort, Spa and Marina (Photograph by Erin Hurd)

Spending bumps up standing

When you like VIP therapy once you keep at a lodge, then elite standing is true up your alley. The World of Hyatt Credit score Card grants computerized Discoverist standing to all cardholders — a lower-tier standing that provides perks like late checkout, restricted room upgrades and elevated points-earnings.

However what units the World of Hyatt Credit score Card other than different lodge bank cards is its capacity to earn elite night time credit by spending on the cardboard. You’ll earn 5 elite credit routinely every year you maintain the cardboard, then 2 elite night time credit for each $5,000 you spend on qualifying purchases.

Plus, due to Hyatt’s Milestone Rewards program, you possibly can earn further advantages like membership lounge entry and suite improve awards from elite nights even with out reaching the subsequent degree of standing.

Particular cardholder-exclusive gives

Hyatt usually gives a number of promotions per yr, they usually’re usually even sweeter for many who maintain the World of Hyatt Credit score Card.

In 2021, cardholders who registered for the assorted promotions may earn perks like:

  • Additional bonus factors for spending on the cardboard.

  • Factors rebates on room redemptions.

  • Double elite night time credit.

Backside line

If Hyatt hasn’t been in your lodge radar prior to now, it’s price having a look. The World of Hyatt Credit score Card can assist supercharge your World of Hyatt factors steadiness with its beneficiant sign-up bonus and wholesome ongoing rewards, plus profitable extras like computerized elite standing and a free night time keep every year you maintain the cardboard.

BaghdadTime values World of Hyatt factors at 1.9 cents every. It is a baseline worth, drawn from real-world knowledge, not a maximized worth. In different phrases, you must purpose for award redemptions that supply 1.9 cents or extra in worth out of your World of Hyatt factors. That makes its factors among the many most respected of all journey factors and miles, in keeping with BaghdadTime valuations.

All details about Hilton Honors American Categorical Aspire Card has been collected independently by BaghdadTime. Hilton Honors American Categorical Aspire Card is now not accessible by means of BaghdadTime.

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *