পরবর্তী পৃষ্ঠাগুলি আছে কিনা তা কীভাবে নির্ধারণ করবেন


16

আমি ওয়ার্ডপ্রেস বিকাশে নতুন, কেবল আমার এইচটিএমএলকে একটি ওয়ার্ডপ্রেস থিমে রূপান্তর করার চেষ্টা করে আমি ক্রিস কোয়েরের ফাঁকা থিমটি দিয়ে শুরু করেছি।

<div class="navigation">
    <div class="next-posts">
        <?php next_posts_link('&laquo; Older Entries') ?>
    </div>
    <div class="prev-posts">
        <?php previous_posts_link('Newer Entries &raquo;') ?>
    </div>
</div>

আমি কীভাবে কেবল ডিভ আউটপুট করব next_posts_link()? <ul>আমার পৃষ্ঠপোষকতার জন্য যেমন ব্যবহার করব ততই আমার এটি দরকার । যদি আমি এটি না করি তবে আমি একটি খালি বুলেট পেয়ে যাব

উত্তর:


18

আপনি সেগুলি ব্যবহার করতে পারেন get_previous_posts_linkএবং get_next_posts_linkসেগুলি নির্ধারিত করতে এটি নির্ধারণ করতে পারেন :

$prev_link = get_previous_posts_link(__('&laquo; Older Entries'));
$next_link = get_next_posts_link(__('Newer Entries &raquo;'));
// as suggested in comments
if ($prev_link || $next_link) {
  echo '<ul class="navigation">';
  if ($prev_link){
    echo '<li>'.$prev_link .'</li>';
  }
  if ($next_link){
    echo '<li>'.$next_link .'</li>';
  }
  echo '</ul>';
}

আশাকরি এটা সাহায্য করবে


কেবলমাত্র সমস্যাটিই সম্ভবত আপনি একটি শূন্য তালিকা রেন্ডার করতে পারেন যা অবৈধ মার্কআপ তৈরি করবে এবং ফলস্বরূপ ব্যবহারকারীর বিদ্যমান
কোডটির

3
@ t31os, আমি অনুমান করি আমি এর মতো কিছু করবif ($prev_link || $next_link) // output ul
জিউ মেনগ

হ্যাঁ এটি এটি করবে ..;)
t31os

কোডটি আপডেট করেছে
বাইনারনেট

কোডটির জন্য ধন্যবাদ, এটি echo '</ul>';শেষ লাইনের বিটিডব্লিউয়ের ঠিক আগে অনুপস্থিত ।
ডেভি

13

আমি কিছুক্ষণ আগে এটি লিখেছিলাম, তবে এখনও বৈধ হওয়া উচিত:

http://www.ericmmartin.com/conditional-pagepost-navigation-links-in-wordpress-redux/

আপনি আপনার functions.phpফাইলে নিম্নলিখিত ফাংশনটি যুক্ত করতে পারেন :

/**
 * If more than one page exists, return TRUE.
 */
function show_posts_nav() {
    global $wp_query;
    return ($wp_query->max_num_pages > 1);
}

আপনার কোডটি আপডেট করুন এতে:

<?php if (show_posts_nav()) : ?>
<div class="navigation">
    <div class="next-posts"><?php next_posts_link('&laquo; Older Entries') ?></div>
    <div class="prev-posts"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
</div>
<?php endif; ?>

3

সেরা সমাধানটি পরীক্ষা করা হচ্ছে $wp_query->max_num_pagesতবে আপনি এটি ব্যবহার করতে পারেন:

<?php
if(paginate_links()) {
...
}

1
এটি লক্ষ করা গুরুত্বপূর্ণ যে $wp_queryএটি সর্বত্র উপলব্ধ বলে মনে হচ্ছে না; উদাহরণস্বরূপ, আমি এটি একটি WooCommerce টেম্পলেট ওভাররাইডের মধ্যে ব্যবহার করার চেষ্টা করেছি এবং অবজেক্টটি উপস্থিত ছিল না, তাই functions.phpএরিক মার্টিনের উত্তরটি ব্যবহার করে আমাকে তার ভিতরে থেকে কল করতে হয়েছিল ।
ব্রেট

অবশ্যই, কিছু ক্ষেত্রে যেমন কাস্টম লুপগুলি এবং সম্ভবত উইককমার্স পরিচালনা করা দরকার। আপনার ক্ষেত্রে, আপনার কীভাবে WooCommerce এর ডাব্লুপি কোয়েরি পাওয়া যায় বা যা উত্পন্ন হয় তা কোয়েরি করা উচিত।
ম্যাক্সওয়েল স্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.