add_action('wp_footer', 'insert_prev_next_buttons_above_title_js');
function insert_prev_next_buttons_above_title_js() {
// শুধুমাত্র সিঙ্গেল পোস্টের ক্ষেত্রে কাজ করবে
if (is_singular('post')) {
$prev_post = get_previous_post();
$next_post = get_next_post();
// Previous বাটন লুপ করার জন্য: যদি আগের কোনো পোস্ট না থাকে (আপনি একদম প্রথম পোস্টে আছেন), তাহলে একদম সর্বশেষ (নতুন) পোস্টটি আনবে।
if (empty($prev_post)) {
$latest_posts = get_posts(array(
'posts_per_page' => 1,
'post_type' => 'post',
'post_status' => 'publish'
));
if (!empty($latest_posts)) {
$prev_post = $latest_posts[0];
}
}
// Next বাটন লুপ করার জন্য: যদি পরের কোনো পোস্ট না থাকে (আপনি একদম শেষ পোস্টে আছেন), তাহলে একদম প্রথম (পুরোনো) পোস্টটি আনবে।
if (empty($next_post)) {
$oldest_posts = get_posts(array(
'posts_per_page' => 1,
'post_type' => 'post',
'post_status' => 'publish',
'order' => 'ASC'
));
if (!empty($oldest_posts)) {
$next_post = $oldest_posts[0];
}
}
// যদি আপনার সাইটে সর্বমোট মাত্র ১টি পোস্ট থাকে, তাহলে বাটনগুলো বর্তমান পোস্টেই লুপ হতে থাকবে। সেটি রোধ করার জন্য এই চেক:
if (($prev_post && $prev_post->ID == get_the_ID()) && ($next_post && $next_post->ID == get_the_ID())) {
return;
}
// বাটনগুলোর HTML তৈরি করা হচ্ছে
$buttons = '<div class="post-navigation-buttons" style="margin-bottom: 20px; display: flex; gap: 15px;">';
if (!empty($prev_post)) {
$buttons .= '<a href="' . esc_url(get_permalink($prev_post->ID)) . '" class="nav-btn prev-btn" style="padding: 8px 16px; background-color: #0073aa; color: #fff; text-decoration: none; border-radius: 4px; font-weight: bold;">« Previous</a>';
}
if (!empty($next_post)) {
$buttons .= '<a href="' . esc_url(get_permalink($next_post->ID)) . '" class="nav-btn next-btn" style="padding: 8px 16px; background-color: #0073aa; color: #fff; text-decoration: none; border-radius: 4px; font-weight: bold;">Next »</a>';
}
$buttons .= '</div>';
// জাভাস্ক্রিপ্টের মাধ্যমে বাটনগুলোকে টাইটেলের উপরে ইনজেক্ট করা হচ্ছে
?>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
var buttonsHtml = '<?php echo $buttons; ?>';
// থিমের মেইন টাইটেল (h1) খুঁজে বের করা হচ্ছে
var postTitle = document.querySelector('h1.entry-title, h1.post-title, article h1, .single-post h1');
if (postTitle) {
// টাইটেলের ঠিক আগে বাটনগুলো বসিয়ে দেওয়া হচ্ছে
postTitle.insertAdjacentHTML('beforebegin', buttonsHtml);
}
});
</script>
<?php
}
}
No comments:
Post a Comment