/** * 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(); } The Best Job Boards for Employers Looking for Employees – Baghdad Time
Finance

The Best Job Boards for Employers Looking for Employees

Above Article Content Ad

Are you trying to rent some new workers? You’ll rapidly end up overwhelmed by all of the other ways there are to try this.

There are such a lot of totally different job boards and on-line recruiting platforms, they usually are available all sizes and shapes. How are you speculated to know which one is greatest to your wants?

We have been curious, so we did a side-by-side comparability of six standard job-search websites — how they work, what they value and what audiences they’re geared toward.

Discovering workers could be tough enterprise. Whether or not you’re a hiring supervisor for a serious company or only a mom-and-pop operation trying to rent a freelancer for a short lived gig, we’ve obtained you coated.

Positive, worker referral applications could be helpful for locating new employees, however you’ll want to transcend that. Many of those choices begin out as free job posting websites, however they cost for extra superior companies and options.

Welcome to the world of social recruiting. That is what right now’s hiring course of seems to be like.

1. ZipRecruiter: Submit a Job on Dozens of Boards

ZipRecruiter is beneficial should you want a job opening to be posted broadly so yow will discover workers rapidly. ZipRecruiter isn’t a job board itself. As an alternative, it’s a market that enables employers to publish a job opening to a number of on-line job boards on the similar time.

ZipRecruiter makes use of synthetic intelligence to determine the place to publish your job vacancies, and it makes use of its matching expertise to investigate tens of millions of information factors to search out the most effective potential matches to your job.

It’s free for employers to strive for 4 days. After that, there are numerous packages you should buy, relying in your wants. ZipRecruiter affords three totally different month-to-month plans, based mostly on what number of jobs you wish to promote.

You may pay further for sponsored posts to present your job vacancies premium placement on job websites. There’s additionally a “site visitors increase” choice that permits you to ship out job postings by way of e mail, attracting extra candidates. It’s also possible to kind by means of resumes in your ZipRecruiter dashboard.

When you publish a job, ZipRecruiter’s AI can put it on the market and ship job alerts to candidates who usually tend to have an interest and certified, based mostly in your chosen job title and job description. The AI instruments may also assist you to right-size your recruitment efforts to maintain your spending environment friendly and on funds.

Do you have already got recruiting software program? In that case, ZipRecruiter will assist you to combine your present applicant monitoring system into its platform.

Execs

You may publish your job openings to over 100 job posting websites directly, though the location’s AI will help you scale your recruiting efforts and determine which of a number of job boards you must actually concentrate on.

Right here’s a helpful recruiting instrument: Not like many different job search web sites, ZipRecruiter’s resume search subscriptions provide limitless searches.

Cons

Relying on what you’re on the lookout for, there are a number of totally different pricing choices, and never all the costs are posted on-line. In some circumstances, you’ll must ask ZipRecruiter’s gross sales division for a quote.

ZipRecruiter’s Costs

ZipRecruiter has three month-to-month plans — Normal, Premium and Professional. Costs are based mostly on what number of jobs you’ll want to publish and what number of websites you need your job alternatives to be posted on. Costs begin as little as $16 per day for one reusable job publish.

2. Monster: Easy to Use

Monster delivers lots of the similar core options as different job posting websites. For a lot of recruiters looking for workers, its standout characteristic is simplicity.

Making a job posting is easy. You may select from greater than 2,000 templates to construct your job advert. Simply begin with a job title and a job description. It’s also possible to let Monster recommend candidates to your firm’s open positions based mostly on elements you specify: abilities, location, expertise and extra.

Monster has its personal applicant monitoring system to assist handle your recruitment marketing campaign. If you wish to use your chosen ATS as an alternative, you’ll want to make use of one other job board.

Monster affords a library of coaching content material to empower hiring managers and recruiters to take advantage of the location’s instruments and options. Plus, the corporate affords buyer help by telephone or e mail throughout enterprise hours in case you get caught.

Monster additionally has a local applicant monitoring system that can assist you handle the traction your job advertisements might get. Nevertheless, the location affords no help for third-party monitoring techniques, which might be greater than a minor headache if your organization already has a relationship with recruitment software program distributors.

Execs

You’ll have entry to over 2,000 job description templates to publish your job openings sooner. Simply begin with a job title and a job description. Additionally, you gained’t need to look elsewhere for an applicant monitoring system.

Cons

Some employers report discovering Monster troublesome to navigate. Additionally, one other necessary consideration about Monster is its comparatively low site visitors quantity. Its month-to-month variety of guests doesn’t even come close to the gradual months of among the heavyweights like ZipRecruiter and Certainly.

Plus, there’s no help for third-party monitoring techniques, and the outsourced screening options might be thought-about a detrimental for some employers.

Monster’s Costs

Monster has three tiers of membership for firms which can be looking for workers, with the dearer tiers providing extra instruments and choices.

Monster’s month-to-month subscription begins at $279 for a single job posting and will increase based mostly on the variety of lively job openings and the flexibility to ship them to different job search websites with their Efficiency Increase functionality. Monster additionally has the flexibility to publish advertisements on the job web site, so an employer solely pays when somebody views their job itemizing.

  • $279: Starter package deal contains one slot for a job posting, 50 resume views monthly
  • $399: Normal package deal contains three job slots, placement on companion websites for 30 days, potential to view 150 resumes monthly
  • $649: Premium package deal contains 5 slots, placement on companion websites for 30 days, 250 resume views month-to-month

3. LinkedIn: the Final Networking Website

Right here’s the place social recruiting will help you discover workers. LinkedIn is the largest skilled networking web site on this planet, with greater than 750 million members in 200 international locations.

It could possibly assist employers join with certified job candidates, particularly for white-collar positions. These professionals are those who principally use the networking web site. Most of your present workers are in all probability already right here.

You may pay to make use of “LinkedIn Recruiter,” which is usually utilized by bigger firms; or “LinkedIn Recruiter Lite,” which is for smaller firms. With LinkedIn Recruiter, you’ll be able to create an infinite variety of job listings.

You may create a job itemizing at no cost utilizing a service known as LinkedIn Jobs, however know that LinkedIn makes use of a ppc mannequin to advertise your job vacancies.

It’s also possible to create an organization profile on LinkedIn to showcase your organization tradition and the accomplishments of your present workers.

Execs

It affords a manageable “ppc” mannequin to advertise job openings on an enormous skilled networking platform.

Cons

Not all its costs are posted on-line. Relying on what you’re on the lookout for, you’ll must get a quote from the gross sales division.

LinkedIn’s Costs

On LinkedIn, you’ll be able to publish one job at a time at no cost. Free job posts seem in search outcomes on LinkedIn, they usually permit you to filter and handle job candidates. However they grow to be much less seen in search outcomes over time to present newer job listings the chance to be seen by guests to the location. As soon as your job posting will get 75 candidates, it will get faraway from search outcomes.

You must attain out to LinkedIn to get a value quote for LinkedIn Recruiter, which is usually utilized by bigger firms, and which lets you create an infinite variety of job listings. Nevertheless, a slimmed-down model known as LinkedIn Recruiter Lite prices $119 monthly, or $99.95 monthly should you join a 12 months.

LinkedIn additionally has a service known as LinkedIn Jobs, the place you’ll be able to publish a job at no cost after which ppc to put it on the market. It’s social recruiting on a smaller scale.

4. Certainly: Free, however Crowded

Launched in 2004, Certainly is a free employment board that additionally affords paid, premium choices to make life simpler for job hunters and employers alike.

As a result of it’s free, employers achieve entry to a various candidate pool that’s brimming with expertise. And job seekers don’t need to pay to use for jobs, add their resume to Certainly’s database, or create job alerts for roles they’re desirous about.

For employers, the free options of Certainly take the danger out of testing the waters of the expertise pool. However its premium options, equivalent to sponsored postings and a subscription to Certainly’s resume database, are what actually make Certainly helpful for firms looking for workers.

Different high options of Certainly’s job board embrace firm pages, help for HR software program like third-party applicant-tracking techniques, and Instantaneous Match, a instrument that matches candidate resumes to your job advertisements.

Free options for employers embrace including screener questions and the flexibility to message and just about interview candidates. It’s not doable to repost jobs from different web sites onto Certainly.

Certainly additionally simplifies the screening course of by grouping certified candidates to the highest of a dashboard, mechanically declining candidates and serving to to schedule interviews — all inside their web site.

Cons

Employers can publish a primary job advert at no cost on Certainly, making it a super platform for hiring managers who’re working on a funds. However as nice because the free choice is, that additionally means the competitors is stiff to get your job listings seen. What number of different employers are competing for the eyes of certified candidates? Your entire recruitment course of depends upon your advertisements getting seen by the suitable eyes.

Execs

Certainly’s answer to that drawback is a paid job publish. For as little as a couple of bucks a day, employers can publish sponsored jobs and ensure the job postings get in entrance of probably the most job seekers. Whenever you pay for a publish, you’ll be able to invite folks to use to your job after discovering resume matches.

Certainly’s Costs

Like a number of on-line job boards, Certainly begins out free. There’s no cost for posting a help-wanted advert on the location.

If you wish to entice extra eyeballs to your job, although, it prices. Certainly has a pay-per-click mannequin the place pricing relies on person engagement with job posts. The entire value relies on the funds you set and the period of time you select to promote the job.

Additionally, 30 resume views monthly prices $100, whereas 100 resume views monthly prices $250.

5. Craigslist: a No-Frills Expertise

Based in 1995, Craigslist is greatest recognized for being a classified-ads market the place folks can discover practically something — furnishings, rooms to hire, missed connections and even authorized assist.

However a serious portion of Craigslist’s enterprise is as one of many high boards the place potential workers can discover part-time work, handbook labor, facet gigs and extra. On the lookout for hourly workers? Attempt right here.

Craigslist Jobs is a cheap answer for employers trying to rent workers. There aren’t any subscriptions required, only a flat payment for every job itemizing. You don’t even must create an account to publish jobs should you don’t wish to.

Employers trying to discover workers by way of Craigslist can get an infinite variety of emails from job candidates. On the draw back, you gained’t be capable to search by means of any kind of resume database to search out potential workers.

Employers on a small funds will even profit from Craigslist’s affordability. For as little as $10 every, you’ll be able to publish as many roles as you need — however you’ll need to do much more leg work on the subject of sorting by means of unqualified candidates and manually dealing with the whole hiring course of.

Execs

Craigslist is by far the most cost effective choice for employers trying to pace up their hiring course of.

Cons

Craigslist job listings are strictly a no-frills expertise. You go with out flashy options like resume searches or the flexibility to handle candidates. There isn’t a candidate relationship administration system of any form.

Craigslist’s Costs

A 30-day job posting prices between $10 and $75, relying on the placement. Particular person listings can’t be swapped out for brand new ones — as an alternative, employers might want to create a brand new posting, however they’ll publish as many roles as they need at any given time. All you’ll want to do is pay together with your bank card for a brand new itemizing.

6. CareerBuilder: a Boutique Recruitment Answer

CareerBuilder is a job posting web site that leverages a mixture of customized instruments, analytics, third-party software program integration and versatile cost choices to assist employers discover certified candidates.

CareerBuilder.com sees about 8.5 million U.S. customers month-to-month and offers entry to about 80 million candidate resumes and social media profiles. Your present workers would possibly have already got profiles right here.

Like ZipRecruiter, it will probably share job postings with different job boards across the web (though to a lesser extent).

There are hiring options for firms of all sizes, from small companies as much as enterprise organizations. You may select certainly one of its tiered, full-service packages or construct your personal by selecting the variety of job advertisements and month-to-month resume searches you need.

CareerBuilder affords a big database of resumes, entry to linked social profiles, help for a bunch of third-party applicant monitoring techniques, automated emails and instrumental add-ons like candidate sourcing.

Nevertheless, it limits the variety of resumes you’ll be able to view month-to-month, whereas websites like ZipRecruiter provide limitless views to make it simpler to search out certified candidates.

Useful options, like CareerBuilder’s candidate-screening service, “Supply and Display,” can improve your recruitment marketing campaign with candidate screening, job-post promotion, scheduling and branding.

Execs

CareerBuilder has extra of a boutique really feel with bespoke recruitment options and plenty of add-ons, equivalent to outsourced screening options and AI-based expertise discovery instruments.

Cons

On the draw back, CareerBuilder is significantly smaller than job websites like LinkedIn, ZipRecruiter and Certainly.

CareerBuilder’s Costs:

  • $299: “Lite” package deal contains one job itemizing, 500 resume database searches, alerts and customized candidate lists.
  • $399: Normal package deal contains three job advertisements, 500 resume searches, alerts and customized candidate lists.
  • $599: Professional package deal contains 5 job advertisements, 500 searches, alerts and customized candidate lists.
  • $375: “Construct Your Personal” package deal begins with one job advert and 30 days of resume search entry.

The Backside Line

Discovering workers has by no means been trickier. With tens of millions of open positions and a severe scarcity of employees, companies throughout the nation are struggling to search out workers — good workers.

Like we mentioned earlier, worker referrals and such are good, so far as that goes. However lately, social recruiting is a key instrument for monitoring down potential workers.

You’ve got so some ways to recruit workers lately. Hopefully this may assist slender it down for you.

Facet gigs, part-time and handbook labor are inclined to have extra choices in a Craigslist job search, whereas choices like Certainly or ZipRecruiter are higher recognized for full-time positions.

One query you would possibly ask your self is, How simple is it to make use of?

Ease of use is simply as necessary for job seekers of their job search as it’s for firms looking for workers. Job posting websites like ZipRecruiter simplify issues by permitting employers to publish to over 100 job boards directly, whereas it empowers job seekers to look those self same boards with its job search engine.

Mike Brassfield ([email protected]) is a senior author at The BaghdadTime.


Source link

Related Articles

Leave a Reply

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