/* 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); } Shahid Khaqan Abbasi
Follow
WhatsApp

Govt to complete all development projects in Sindh: PM

News Desk
2017-11-20

Prime Minister Shahid Khaqan Abbasi says the federal government will complete all development projects in Sindh, including Karachi. He was...

President, PM re-affirm commitment to safeguard rights of children

News Desk
2017-11-20

Universal Children’s Day is being observed today to promote awareness among children and protection of their rights. This year theme...

Sindh CM Syed Murad Ali Shah calls on PM Abbasi

News Desk
2017-11-20

KARACHI: Sindh Chief Minister Syed Murad Ali Shah has on Monday called on Prime Minister Shahid Khaqan Abbasi in Governor...

PM inaugurates second LNG terminal at Port Qasim

News Desk
2017-11-20

Prime Minister Shahid Khaqan Abbasi has inaugurated the country’s second LNG terminal at Port Qasim in Karachi. Addressing the inaugural...

Construction of LNG terminals to help meet growing demand of energy, gas: PM

News Desk
2017-11-20

Prime Minister Shahid Khaqan Abbasi says LNG terminals will help to meet the growing demand of energy as more gas-based...

PM assures all required cooperation in ongoing development projects

News Desk
2017-11-20

KARACHI: Prime Minister, Shahid Khaqan Abbasi hasassured Sindh Chief Minister, Syed Murad Ali Shah of all coordination and cooperationin the...

Bill gates reiterates support for eradicating polio in Pakistan

News Desk
2017-11-17

Bill Gates lauds PM Abbasi for his personal attention and oversight in making polio eradication efforts successful. Co-chair of Bill...

PM directs for early finalization of Hajj policy 2018

News Desk
2017-11-16

Prime Minister Shahid Khaqan Abbasi addresses a meeting on Hajj policy in Islamabad. Prime Minister Shahid Khaqan Abbasi has directed...

NSC expresses deep concern over increasingly exposed activities of hostile intelligence agencies to destabilise Pakistan

News Desk
2017-11-16

The National Security Committee condemned the recent attacks on Pakistan Army post at Bajaur Agency and police officials in Quetta...

Complete consensus b/w federal, provincial govts on merger of FATA with KP: PM

News Desk
2017-11-16

Shahid Khaqan Abbasi was talking to Jirga of youth wings of different political parties belonging to tribal areas in Islamabad....

Previous Next