// ============================================ // IMAGE SEO CLASS (FIXED) // ============================================ if (!class_exists('TimesBull_Image_SEO')) { class TimesBull_Image_SEO { private static $instance = null; private $image_count = 0; private $featured_image_id = null; public static function get_instance() { if (null === self::$instance) { self::$instance = new self(); } return self::$instance; } private function __construct() { add_filter('wp_get_attachment_image_attributes', [$this, 'add_image_attributes'], 10, 3); add_filter('the_content', [$this, 'auto_add_image_alt']); add_action('add_attachment', [$this, 'auto_image_seo']); add_action('wp', [$this, 'set_featured_image_id']); } public function set_featured_image_id() { if (is_singular()) { $this->featured_image_id = get_post_thumbnail_id(); } } public function add_image_attributes($attr, $attachment, $size) { $this->image_count++; // CRITICAL FIX: Check if this is the featured image $is_featured = ($attachment->ID === $this->featured_image_id); if ($is_featured) { // Featured image - ALWAYS eager, ALWAYS high priority $attr['loading'] = 'eager'; $attr['fetchpriority'] = 'high'; $attr['decoding'] = 'async'; } elseif ($this->image_count === 1 && !is_admin()) { // First non-featured image (e.g., logo) $attr['loading'] = 'eager'; $attr['fetchpriority'] = 'high'; $attr['decoding'] = 'async'; } else { // All other images - lazy load for performance $attr['loading'] = 'lazy'; $attr['decoding'] = 'async'; // Remove fetchpriority from lazy images (prevents conflict) if (isset($attr['fetchpriority'])) { unset($attr['fetchpriority']); } } // Ensure alt text is never empty if (empty($attr['alt'])) { $alt_text = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true); $attr['alt'] = $alt_text ?: get_the_title($attachment->ID); } return $attr; } public function auto_add_image_alt($content) { if (empty($content) || !is_singular() || is_admin()) { return $content; } $post_title = esc_attr(get_the_title()); return preg_replace_callback('/]+)>/i', function($matches) use ($post_title) { $img_tag = $matches[0]; $attributes = $matches[1]; if (!preg_match('/alt=([\'"])(.*?)\1/i', $attributes, $alt_matches) || empty(trim($alt_matches[2]))) { if (stripos($attributes, 'alt=') !== false) { return preg_replace('/alt=([\'"])(.*?)\1/i', 'alt="' . $post_title . '"', $img_tag); } else { return str_replace(' $attachment_id, 'post_title' => $clean_title, 'post_excerpt' => $clean_title, ]); update_post_meta($attachment_id, '_wp_attachment_image_alt', $clean_title); } } TimesBull_Image_SEO::get_instance(); } Nift Admission Test Admit Card | Trending Updates | Times Bull Skip to content

#NIFT Admission Test Admit Card

1 Articles
LATEST UPDATES

Stay updated with the latest #NIFT Admission Test Admit Card news, trending stories, and in-depth analysis. Timesbull brings you real-time updates and comprehensive coverage from trusted sources.

Get the most relevant and timely nift admission test admit card news, expert opinions, and exclusive insights. Follow us for daily updates and never miss an important story.

Welcome to the TimesBull #NIFT Admission Test Admit Card Hub, your definitive source for real-time updates on nift admission test admit card news, trending stories, and breaking headlines.

  • Latest Updates: Stay ahead with our Breaking News alerts, updated 24/7.
  • Deep Dives: Explore our #NIFT Admission Test Admit Card expert analysis and opinion pieces.
  • Local and Global: From local stories to international news, we bring the world to your screen.

Source: TimesBull News Desk | Updated (IST): April 16, 2026 | Total Articles: 1