/* Plugin Name: Optimized Inline Related Articles v5.0 (Ads Removed) */ add_filter('the_content', 'optimized_inline_related_articles_v5', 99); function optimized_inline_related_articles_v5($content) { if (!is_single() || !is_main_query()) return $content; global $post; $used_posts = [$post->ID]; $paragraphs = explode('

', $content); $total_paragraphs = count($paragraphs); if ($total_paragraphs < 6) return $content; // ------------------------ // TAG BASED RELATED POSTS // ------------------------ $tags = wp_get_post_tags($post->ID); if (!$tags) return $content; $tag_ids = wp_list_pluck($tags, 'term_id'); $related_query = new WP_Query([ 'tag__in' => $tag_ids, 'post__not_in' => $used_posts, 'posts_per_page' => 15, 'ignore_sticky_posts' => 1, ]); $related_posts = []; if ($related_query->have_posts()) { while ($related_query->have_posts()) { $related_query->the_post(); $post_tags = wp_get_post_tags(get_the_ID()); $shared_tags = count(array_intersect($tag_ids, wp_list_pluck($post_tags,'term_id'))); $related_posts[] = [ 'id' => get_the_ID(), 'title' => get_the_title(), 'link' => get_permalink(), 'shared_tags' => $shared_tags ]; } wp_reset_postdata(); } if (empty($related_posts)) return $content; usort($related_posts, fn($a,$b) => $b['shared_tags'] - $a['shared_tags']); // ===================================================== // INLINE INSERT (TOP SECTION) // ===================================================== $top_positions = [11,15,19]; $count = 0; foreach($top_positions as $pos){ if(!isset($related_posts[$count])) break; if($pos >= $total_paragraphs) continue; $rp = $related_posts[$count]; $inline_html = "
Read More: {$rp['title']}
"; $paragraphs[$pos] .= $inline_html; $count++; } // ===================================================== // BOTTOM INSERT (UNCHANGED LOGIC, NO ADS FILTER) // ===================================================== $bottom_positions = []; for($i=floor($total_paragraphs*0.45); $i<$total_paragraphs; $i++){ $bottom_positions[] = $i; } $max_bottom = min(3, count($related_posts)-$count); if($max_bottom > 0 && count($bottom_positions) > 0){ $interval = max(1, floor(count($bottom_positions)/$max_bottom)); for($b=0;$b<$max_bottom;$b++){ $pos_index = $b * $interval; if(!isset($bottom_positions[$pos_index])) break; $pos = $bottom_positions[$pos_index]; if(!isset($related_posts[$count])) break; $rp = $related_posts[$count]; $inline_html = "
Read More: {$rp['title']}
"; $paragraphs[$pos] .= $inline_html; $count++; } } return implode('

', $paragraphs); } NAB Court
Follow
WhatsApp

Maryam Nawaz to contest 2018 General Elections

News Desk
2017-10-19

ISLAMABAD: Maryam Nawaz – daughter of sacked prime minister Nawaz Sharif – expressed her desires to contest the 2018 general...

LHC bars AAG Khawar Bhatti from entering court

News Desk
2017-10-16

LAHORE  – The Lahore High Court (LHC) has on Monday barred Additional Advocate General Khawar Ikram Bhatti, who slapped a...

Ishaq Dar reference in NAB Court, Witnesses testify against Dar

News Desk
2017-10-16

ISLAMABAD: Accountability court in Islamabad resumed hearing a NAB corruption reference against Finance Minister Ishaq Dar on Monday. The court, during...

PTI raises PML-N Court drama before Monitoring Judge of SC

News Desk
2017-10-13

LAHORE – Pakistan Tehreek-e-Insaf (PTI) on Friday raised issue of scuffle outside the accountability court during hearing of National Accountability...

Nawaz Sharif moves Supreme Court against the NAB Court

News Desk
2017-10-13

ISLAMABAD  – Former prime minister Nawaz Sharif has on Friday moved the Supreme Court against three National Accountability Bureau (NAB)...

NAB team was the target in disguise of today s chaos in court: Inquiry Report

News Desk
2017-10-13

ISLAMABAD: NAB prosecution team has filed the report on chaos which took place in Accountability Court (AC) on the occasion...

The man who slapped Police officer in NAB Court is the Punjab Additional Advocate General

News Desk
2017-10-13

ISLAMABAD – The man who slapped a police official at the gate of the accountability court (AC) on the occasion...

Ishaq Dar in NAB Court: Witnesses confirm all documents are genuine

News Desk
2017-10-12

ISLAMABAD – Finance Minister Ishaq Dar appeared before an accountability court in Islamabad on Thursday as trial into NAB case against...

Ishaq Dar in NAB court, two witnesses testify against Finance Minister

News Desk
2017-10-04

ISLAMABAD: Accountability Court Wednesday resumed hearing of case against Finance Minister Ishaq Dar pertaining to possession of assets beyond his...

Nawaz Sharif to be tried separately in the NAB Court

News Desk
2017-10-02

ISLAMABAD – Former premiere Nawaz Sharif to be tried separately in case of non appearance of his children in the...