পৃষ্ঠায়িত করার ক্ষেত্রে আপনার কেন একটি অসম্ভব পূর্ণসংখ্যার প্রয়োজন?


17

paginate_linksকোডেক্স ফাংশন রেফারেন্স কিছু নমুনা কোড যে নেট উপর সব পুনরায় পোস্ট করা হচ্ছে হয়েছে।

এটিতে একটি বিভাগ রয়েছে যা ভেরিয়েবল নামে পরিচিত $big = 999999999; // need an unlikely integer:

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages
) );

আর ব্যবহার করা হয় str_replaceমধ্যে echo paginate_linksফাংশন।

এটি কি encapsulation এর কিছু ফর্ম?

উত্তর:


16

উল্লেখ্য get_pagenum_link( $big ): এটি একটি URL- এ (তৈরি করবে না একটি লিংক) প্রথম প্যারামিটার দেওয়া সংখ্যার উপর ভিত্তি করে।

এই ফাংশনটি ইউআরএলটির মূল প্যাটার্নটি পেতে ব্যবহার করা হয় এবং উচ্চতর পূর্ণসংখ্যা এখানে ব্যবহৃত হয় কারণ:

  1. আপনাকে অবশ্যই যুক্তি হিসাবে একটি পূর্ণসংখ্যা সরবরাহ করতে হবে।
  2. ফলস্বরূপ ইউআরএল ফিল্টার করা হয় apply_filters('get_pagenum_link', $result)এবং প্লাগইনগুলির মাধ্যমে এটি পরিবর্তিত হতে পারে। বিদ্যমান পৃষ্ঠাগুলির সাথে মেলে এমন সংখ্যার জন্য এই ঝুঁকিটি কিছুটা বেশি , উদাহরণস্বরূপ যখন কোনও প্লাগইন সাব-পৃষ্ঠাগুলির জন্য পৃথক শিরোনাম প্রয়োগ করে।

সুতরাং এটি কেবল একটি ... নোংরা কনভেনশন, অন্যান্য প্লাগইনগুলির জন্য একটি সংকেত: দয়া করে এটি পরিবর্তন করবেন না! আমার মনে হয় PHP_INT_MAXআরও ভাল হত তবে কুরুচিপূর্ণ। এবং আমি অবাক হই যে কতগুলি প্লাগইন বিকাশকারী এটি জানেন

এর পরে নম্বরটি স্থানধারকের প্রয়োজনের সাথে প্রতিস্থাপন করা হয় paginate_links()

আপনি এখানে যা দেখছেন তা একটি অসম্পূর্ণ এপিআই । এই উদাহরণ থেকে কিছু শেখার চেষ্টা করুন - অসম্পূর্ণ এপিআই প্রকাশ করবেন না, বা আপনার ডক্স বিব্রতকর দেখাবে। :)


আমি সম্মত হই যে পিএইচপিএনপিএএমএএমএক্স আরও ভাল আইএমও হতে পারত তবে আমাকে আরও সময় গুলিয়ে ফেলত। আমি আপনার ব্যাখ্যাটি সত্যই পছন্দ করি, এটি নিশ্চিত করে যে আমি সঠিক লাইনগুলি নিয়ে ভাবছিলাম। আমি কেবল কোনও অনুমান করতে চাইনি।
জেসন গ্রিন

সুতরাং এটি কি বিদ্যমান পৃষ্ঠাগুলির সংখ্যাগুলিকে প্রভাবিত করার ক্ষেত্রে কেবল কোনও ফিল্টারের ক্ষেত্রে ব্যবহার করা হয় ? (যেহেতু ডিফল্ট হিসাবে যাইহোক ব্যবহার করে)। আমার কাছে চূড়ান্ত প্রান্তের মতো মনে হচ্ছে, যদি আমি কিছু মিস করি না? get_pagenum_linkpaginate_links()get_pagenum_link()
Cai

@ কাই মনে হচ্ছে এটি একবারে আসল সমস্যা হয়ে দাঁড়িয়েছে। কোড বেইসগুলি দীর্ঘ সময়ের জন্য রক্ষণাবেক্ষণ করা হয় প্রান্তের ক্ষেত্রে কর্মক্ষেত্র দিয়ে পূর্ণ।
ফুসিয়া

দেখে মনে হচ্ছে এটি paginate_links()সর্বদা get_pagenum_link()ডিফল্টরূপে ব্যবহৃত হয়নি তাই আমি ভাবছি যে এটি যদি এর আগে কোনও কনভেনশন হয় এবং যদি 'সম্ভাবনা পূর্ণসংখ্যার' সত্যই প্রয়োজন হয় (বা যদি সত্যিকারের কাজটি কেবল সহজ ছিল get_pagenum_link())?
Cai
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.