/** * 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(); } Form 4686: What It Is, How To File – 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

Form 4686: What It Is, How To File

Above Article Content Ad

What’s IRS Type 4868?

Type 4868, often known as an “Utility for Computerized Extension of Time to File U.S. Particular person Revenue Tax Return,” is a type that taxpayers can file with the IRS in the event that they want extra time to complete their tax returns.

A profitable software extends the submitting deadline by six months in a typical tax 12 months. It may be filed electronically or by mail.

Remember the fact that the closing date to submit Type 4868 is tax day, which is often in mid-April. If you happen to miss the deadline, your probability to ask for an extension expires and the IRS will think about your tax return late.

How does Type 4868 work?

Opposite to the way it could sound, a tax extension received’t grant you extra time to pay or cope with your tax invoice. Submitting Type 4868 merely informs the company that your tax return (sometimes Type 1040 and any associated paperwork) will arrive late.

If you’ll owe taxes, you’ll must estimate your tax invoice and submit an estimated cost by tax day alongside along with your extension request.

Your estimated cost ought to cowl no less than 90% of what you owe, and the remaining quantity must be paid if you file your return. In case your estimated cost doesn’t cowl no less than 90% of your legal responsibility, the IRS will cost curiosity and a late-payment penalty on the excellent stability as soon as tax day passes

How a lot further time does Type 4868 offer you?

Type 4868 extends your tax-filing deadline by six months, from mid-April to mid-October. The IRS typically doesn’t allow further extensions past the preliminary six months.

Ought to I file Type 4868?

There are numerous causes to think about submitting Type 4868. The most typical one is solely needing extra time to gather paperwork. Different causes embrace:

  • You, your CPA or your tax preparer received’t be capable of end your tax return by the deadline.

  • You can not file on time due to a major life, medical or journey occasion.

  • You wish to keep away from incurring a failure-to-file penalty.

  • You might be self-employed and need further time to arrange a SEP plan, which you’ll fund till the tax extension deadline. Solo 401(ks) and SIMPLE plans may also be funded till the extension deadline. 

No matter which situations apply, together with submitting for an extension, ensure to nonetheless pay an estimate of your taxes owed.

When to not file Type 4868

Submitting Type 4868 would not make sense for those who’re laying aside your return as a result of you may’t afford the tax invoice. A tax extension request received’t offer you extra time to determine that cost, so the longer you wait to file or pay after tax day passes, the extra curiosity and penalties accumulate.

If you happen to can’t afford a tax invoice, attempt to file on time, pay as a lot as you may, and look into the numerous choices accessible for cost, together with IRS cost plans.

Who can file Type 4868?

Most taxpayers can file Type 4868 to request an computerized six-month tax-filing extension. Per the company, you don’t want to present a motive for requesting an extension, but when your request is denied, the IRS will contact you to let you already know why.

Tips on how to file Type 4868

There are a number of methods to submit Type 4868.

  • By paper: Taxpayers can file Type 4868 by mail, however keep in mind to get your request within the mail by tax day. 

  • Electronically: IRS Free File, IRS Free Fillable Kinds, or tax-prep software program will help you e-file your extension.

  • While you pay estimated taxes: This third possibility does away with the paperwork. While you pay your estimated tax invoice utilizing an IRS cost methodology reminiscent of Direct Pay, Digital Federal Tax Fee System (EFTPS), or by credit score or debit, you may point out that the cost is for an extension

What data goes on Type 4868?

Type 4868 asks you to provide primary data, reminiscent of your title, handle, Social Safety quantity or particular person taxpayer identification quantity (ITIN). If you happen to owe taxes, you’ll additionally want to incorporate an estimate of that invoice and the quantity of cost you’re making.

You’ll be able to estimate your taxes by referencing how a lot you owed final 12 months in case your revenue has not modified drastically. You can even estimate your taxes utilizing a tax calculator or tax-prep software program. Nonetheless, working with a tax professional, or utilizing IRS Type 1040-ES, could guarantee a better estimate.

Image of a black-and-white IRS tax form. The header reads "Form 4868: Application for Automatic Extension of Time to File U.S. Individual Income Tax Return." The tax year is in the upper right-hand corner. Two sections follow below.  The first section — "Part I: Identification — has empty fields for filling in identification information, such as names, addresses and Social Security numbers. The second section — "Part II: Individual Income Tax" — contains instructions and fill-in-the-blank fields for estimating tax liability.

What’s the price of submitting Type 4868?

You’ll be able to file Type 4868 by mailing the paper extension, requiring you to cowl the postage value. You can even file the shape without spending a dime utilizing IRS Free Fillable Kinds on-line. A number of IRS Free File suppliers provide taxpayers free digital extension submitting, no matter revenue degree

If you happen to’re already dedicated to a selected tax-prep software program, many brand-name suppliers additionally provide free extension submitting, however they could acquire charges for the service the nearer you’re to the tax-filing deadline.

The place to obtain Type 4868

If you happen to’re utilizing tax software program, most packages will provide help to fill out the shape, tally your estimated taxes, and e-file the shape together with cost.

If you happen to’re submitting a paper type, you may obtain and print it instantly from the IRS web site.

The place to ship a paper Type 4868

Submitting a paper extension by mail requires a number of further steps. As soon as your type is prepared, mail it to your state’s relevant IRS or Treasury Division handle.

If you happen to’re sending in a cost along with your request extension, the verify or cash order needs to be made out to the “United States Treasury” and you’ll want to embrace your Social Safety quantity, telephone quantity, in addition to a be aware that lists the tax 12 months and what the verify is for (e.g., 2022 Type 4868).

The IRS would not settle for money funds for paper extensions. For extra data, see the directions to Type 4868.

Don’t neglect in regards to the Type 4868 deadline

Realizing you’ve purchased your self a number of further months to file can carry reduction, however don’t neglect to mark your calendar with that new mid-October deadline. If you happen to miss the tax extension deadline, the IRS received’t provide further choices and people charges and penalties will start to pile up.

Source link

Related Articles

Leave a Reply

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