';
}
// 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();
}
The Best Credit Cards Have Three Things in Common – 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' ); ?>
There is not any such factor as the only “greatest” bank card; there’s solely one of the best bank card “for you.” However by way of discovering that greatest match, the entire greatest bank cards available on the market share a number of frequent traits.
When evaluating any bank card, think about the way it suits with the next:
1. The most effective bank cards suit your objectives
Earlier than you will discover one of the best bank card for you, ask your self what it’s you want to perform with one. There are principally three fundamental sorts —credit-building playing cards, interest-saving playing cards and rewards playing cards — however inside these classes are varied subsets.
Some potential objectives embody:
If in case you have no credit score historical past, or little or no, think about playing cards designed for skinny credit score profiles. Some choices:
If in case you have poor credit score (FICO scores of 629 or decrease), you continue to have choices. They embody among the secured playing cards listed above, but in addition:
In the event you’ve received a big expense developing and wish some respiration room on curiosity as you pay it off, think about the next sorts of playing cards:
In the event you’re aiming to chip away at present debt, then transferring that steadiness to a card with a decrease APR can assist. Think about:
The next playing cards earn probably the most versatile reward of all — chilly arduous money:
Whether or not you are looking for factors or miles with a particular airline or resort, otherwise you need basic journey rewards that may be redeemed wherever, you’ve got many choices:
In the event you’re loyal to a particular retailer or model, you would possibly profit from a card that rewards that loyalty, or one which protects these purchases:
2. The most effective bank cards suit your life-style
The most effective bank cards meet you the place you (and your credit score scores) are in life. If you understand what your credit score scores are, you may have an awesome thought of the sorts of playing cards you may fairly count on to qualify for. The upper your scores, the higher your bank card choices.
However one of the best bank cards for you additionally have a tendency to vary over the course of your life, as your wants and circumstances additionally change. Listed below are among the greatest playing cards for particular life phases:
Merely being a scholar is not sufficient to qualify for a scholar bank card; you may should be at the very least 18, and even then, for those who’re youthful than 21, you may have to indicate proof of unbiased revenue to get your personal bank card. In the event you meet these requirements, take a look at these playing cards:
Your choices should be restricted relying in your credit score historical past, however there are nonetheless loads of beginner-friendly choices:
A number of bank cards can prevent cash on curiosity and charges throughout your service:
Perhaps you have not too long ago moved in with a major different — or possibly you have popped the query and are planning a marriage. Listed below are some useful bank card choices:
About to have your first youngster? Or already a mother or father many occasions over? Don’t be concerned, there are bank cards that may work properly for you:
Whether or not you simply purchased a house otherwise you’re renovating an present one, take a look at these bank card choices:
These bank cards are good picks for every kind of enterprise homeowners — from these with massive workplace areas and a number of staff, to those that work for themselves, to those that merely have a aspect hustle:
In the event you’ve stepped away from the workforce, there are some playing cards that could possibly be best for you:
3. The most effective bank cards suit your spending
The most effective bank cards ship constant worth on your on a regular basis bills, within the type of rewards, perks, reductions and extra.
Regardless of the largest line merchandise is in your price range, there’s possible a card to match it, together with playing cards for:
In the event you’re seeking to rake in restaurant rewards, listed below are the bank cards to think about:
Then again, for those who principally cook dinner at dwelling, you might wish to look into these playing cards:
In the event you’re a street warrior, maybe the pump is the place you drop nearly all of your money:
Perhaps as an alternative of driving, you depend on mass transit or ridesharing:
Amusement can take many types: an evening out, a reside live performance or play, a soccer sport and extra. In the event you incessantly paint the city purple, listed below are some playing cards that may provide help to wield that brush:
In case your thought of a enjoyable night is cozying up on the sofa with “Stranger Issues” or the most recent Marvel superhero flick, then search for a card that rewards you on eligible streaming providers:
If retail remedy is your jam, these are your greatest choices:
Acquired a fur child to spoil? These bank cards can assist with that:
Whether or not you are a spectator or a participant on the sphere your self, and even only a gymnasium rat, these bank cards could also be proper up your alley:
Backside line
These usually are not complete lists of potential bank card objectives or life or spending habits, however one of the best bank cards for you’ll supply worth in these areas. It’s possible you’ll even discover they provide secondary perks and advantages that turn out to be useful, like insurance coverage, buy safety, zero-liability fraud insurance policies, budgeting instruments and extra.
Plus, accountable use of bank cards — which means paying them again on time and, ideally, in full each month — will assist strengthen your credit score profile, which might open doorways to raised charges on different monetary merchandise, like mortgages and auto loans.