/* 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

Non bailable arrest warrants issued for Nawaz Sharif children

News Desk
2017-10-02

ISLAMABAD  – The accountability court (AC) has on Monday issued non-bailable arrest warrants of the children of former prime minister...

Ishaq Dar challenges his NAB case indictment in the Islamabad High Court

News Desk
2017-10-02

ISLAMABAD – Finance Minister Ishaq Dar has challenged his indictment in the Islamabad High Court today. The close confidant of...

Who had summoned Rangers in NAB court today

News Desk
2017-10-02

ISLAMABAD – The controversy surrounding the mysterious presence of the Punjab Rangers officials seemed to have been resolved as a...

My family will return back to face NAB cases: Nawaz Sharif

News Desk
2017-10-01

LAHORE  – Former Premiere Nawaz Sharif has said on Sunday that his children – Hassan Nawaz, Hussain Nawaz and Maryam...

Pakistan High Commissioner receives arrest warrants for Sharif family

News Desk
2017-09-28

LONDON – Pakistan High Commission in London on Thursday has received arrest warrants of ex-prime minister Nawaz Sharif’s children Hassan,...

Sharif family in serious trouble

News Desk
2017-09-21

LAHORE: The National Accountability Bureau (NAB) has stopped the Sharif family from the sale or transfer of its properties. According...

NAB Court issues second summons to the Sharif family in Panama references

News Desk
2017-09-19

ISLAMABAD: The accountability court hearing corruption cases against the Sharif family issued on Tuesday a second summons for the accused...

NAB Court indicts former Premiere in GEPCO case

News Desk
2017-09-19

LAHORE  – The accountability court (AC) has on Tuesday indicted former prime minister and Pakistan People’s Party (PPP) leader Raja...

Previous