প্রসঙ্গের উপর নির্ভর করে প্রতি পৃষ্ঠায় বিভিন্ন সংখ্যক পোস্ট দেখান (যেমন, হোমপেজ, অনুসন্ধান, সংরক্ষণাগার)


21

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

পড়া-সেটিংস ব্লগ-পৃষ্ঠাগুলি-শো-অ্যাট-সবচেয়ে-প্রতি-পৃষ্ঠা

আমি বুঝতে পারি থিম ফাইলগুলি সম্পাদনা করে এবং সেখানে ক্যোয়ারির প্যারামিটারগুলি পরিবর্তন করে আমি এটি করতে পারি, তবে আমি একটি সাধারণ সেটিংস পৃষ্ঠায় আরও সহজে অ্যাক্সেস করতে পছন্দ করব। অনেক দিন আগে, আমি এমন একটি প্লাগইন জুড়ে এসেছি যা এটি করেছিল তবে আমি এখন এটি সনাক্ত করতে পারি না।

কেউ কি এটি করার জন্য একটি প্লাগইন জানেন, বা একই জিনিসটি সম্পাদন করার জন্য আমি একটি ফাংশন ফাংশন.এফপি রাখতে পারি?


আপনি সম্ভবত @ চিপ- বেনেটের 'প্রতি পৃষ্ঠায় ভিন্ন ভিন্ন পোস্ট' প্লাগইন: চিপবনেটটনেট / প্লাগইনস / সিবিনেট-ডিফিলারস-পেস্টস- পৃষ্ঠার কথা ভাবছিলেন যা গ্রাফিকাল উপায়ে যা চান তা করে।
টম অগার

উত্তর:


23

আমি বিশ্বাস করি প্লাগইনে এটি করার সর্বোত্তম উপায় হ'ল pre_get_postsঅ্যাকশন হুকের মুখোমুখি হওয়ার সময় নিম্নলিখিত নমুনা ফাংশনটি চালানো । $wp_queryবস্তু পাওয়া যায়, যার অর্থ আপনার শর্তাধীন ট্যাগ পাওয়া যায়, কিন্তু আগে ওয়ার্ডপ্রেস পোস্ট, যার মানে আপনি কোয়েরি পরিবর্তন করা হয় পায় চালানো হচ্ছে বদলে যখন query_posts () একটি থিম ব্যবহার করা হয় মত একটি দ্বিতীয় ক্যোয়ারী যোগ প্রথম ক্যোয়ারী পূর্বে Vars ফাইল।

function custom_posts_per_page($query) {
    if (is_home()) {
        $query->set('posts_per_page', 8);
    }
    if (is_search()) {
        $query->set('posts_per_page', -1);
    }
    if (is_archive()) {
        $query->set('posts_per_page', 25);
    } //endif
} //function

//this adds the function above to the 'pre_get_posts' action     
add_action('pre_get_posts', 'custom_posts_per_page');

আমি এই কাজটি আমার নিজের সাইটে ব্যবহার করি। আপনার জন্য এটি এখানে কাটা এবং পেস্ট করা সহজ ছিল।
কেভআউটআউট

0

আপনি ক্যোয়ারী_পোস্টগুলি ব্যবহার করে একটি কাস্টম লুপ করতে পারবেন এবং is_home, is_archive ইত্যাদি দ্বারা পোস্টের সংখ্যা নির্দিষ্ট করতে পারেন

ক্যোয়ারী_পোস্টগুলি সহ একটি সাধারণ বিবৃতি


হ্যাঁ, আমি আমার প্রশ্নে তা উল্লেখ করেছি। আমি এটি করার উপায় খুঁজছি যাতে সেটিংস পরিবর্তন করতে আমাকে একাধিক থিম ফাইল সম্পাদনা করতে হবে না। ধন্যবাদ।
ডগ

1
বরং এটি করা খারাপ ধারণা। ওয়ার্ডপ্রেস ইতিমধ্যে কোয়েরি চালায়। আপনি যদি query_postsআপনার থিমটি রাখেন তবে আপনি মূল ক্যোয়ারীটিকে উপেক্ষা করবেন এবং অন্যটিকে, অপ্রয়োজনীয় তৈরি করবেন।
ক্রিজিসিক দ্রাদ্দে

-1

এই প্রশ্ন যুক্ত করতে। কেউ কি জানেন যে কীভাবে এই ফাংশন ফাংশনটির জন্য পোস্ট_পার_পৃষ্ঠা নির্ধারণ করতে হবে কাস্টম_পাস্টস_পার_পেজ ($ কোয়েরি) যদি নতুন পৃষ্ঠাটিকে সূচি.কম এ যুক্ত করে থাকে তবে:

<?php
if ($_GET['new'] == 1) 
{
    include ( TEMPLATEPATH . '/newpage.php' );
    exit;
}
?>

-1

আমি বুঝতে পারি থিম ফাইলগুলি সম্পাদনা করে এবং সেখানে ক্যোয়ারির প্যারামিটারগুলি পরিবর্তন করে আমি এটি করতে পারি, তবে আমি একটি সাধারণ সেটিংস পৃষ্ঠায় আরও সহজে অ্যাক্সেস করতে পছন্দ করব।

সম্পূর্ণতার স্বার্থে, আমি দেখতে পেলাম যে query_postsসংমিশ্রনের সাথে মিলিত $query_stringভাল কাজ করে।

আমি এই কোডটি index.phpরেখেছি (আমার থিমের বিভাগে.পিএফ নেই) ...

<?php 
if (!is_front_page()) { 
    query_posts($query_string . "&posts_per_page=20"); 
}
?>

অবশ্যই আমরা এখানে যা করছি তা হ'ল লুপের অভ্যন্তরীণ কোয়েরি স্ট্রিংটি সংশোধন করে প্রতি পৃষ্ঠায় পোস্টের ডিফল্ট সংখ্যাকে ওভাররাইড করে

এটি হোমপৃষ্ঠায় আমি সম্পূর্ণ পোস্ট প্রদর্শন করছি এবং অন্য যে কোনও জায়গায় (বিভাগগুলি, তারিখ অনুসারে, ইত্যাদি) পোস্টের সংক্ষিপ্ত তালিকা সরবরাহের জন্য ট্রিট কাজ করে যেখানে আমি কেবল পোস্টের সংক্ষিপ্তসারগুলি দেখছি।

তবে, দয়া করে মনে রাখবেন যে গৃহীত উত্তরগুলির মতো নয়, এটি কোয়েরিটি দু'বার চালাবে , সুতরাং এটি কোনও সমাধান হিসাবে উত্তম নয়।


জেফ, আমি বিভিন্ন প্রসঙ্গে ফিরে আসা পোস্টগুলির সংখ্যা নিয়ন্ত্রণ করতে একটি কেন্দ্রীভূত স্থানের সন্ধান করছিলাম। আপনার উত্তরটি কেবলমাত্র তাই করে যদি আপনি সমস্ত বিষয়গুলি হ্যান্ডেল করতে index.php ব্যবহার করেন যা বেশিরভাগ থিম না করে। ডাটাবেসে কলগুলি বৃদ্ধি করার পাশাপাশি (যা কার্য সম্পাদনকে প্রভাবিত করে), আপনার কৌশলটি শর্তযুক্ত ট্যাগগুলির প্রতিক্রিয়াও (যেমন, is_home () বা is_front_page) অপ্রত্যাশিত উপায়ে পরিবর্তন করতে পারে। অবশেষে, আপনি যদি কোনও পৃষ্ঠায় গৌণ লুপগুলি যুক্ত করতে চান, তবে আপনার ক্যোয়ারী_পোস্টগুলি ব্যবহার করা উচিত নয়, পরিবর্তে (বা get_posts) "নতুন WP_Query" ব্যবহার করা উচিত।
ডগ

@ ডগ এটি কোনও গৌণ লুপ নয়, এটি মূল লুপকে ছাড়িয়ে যাচ্ছে - এবং হ্যাঁ, এই নির্দিষ্ট থিমটি সবকিছু রেন্ডার করতে সূচি.এফপি ব্যবহার করে, এটি মোটামুটি সংক্ষিপ্ত। আমি এখানে উত্তর হিসাবে এটি আরও বোধগম্য মনে করেছি, তবে আপনি যদি চান তবে আমি আমার নিজের প্রশ্ন জিজ্ঞাসা করতে এবং উত্তরটি যদি কোনওভাবে আপত্তিজনক করে তোলে তবে উত্তর দিতে পারি।
জেফ আতউড

আসলে আমি আপনার দ্বিতীয় থেকে শেষ অনুচ্ছেদে ভুল লিখেছি এবং ভেবেছিলাম যে "বৃহত্তর" এবং "ছোট" পোস্টগুলির তালিকাগুলি একই পৃষ্ঠায় রয়েছে, সুতরাং উপরের আমার শেষ বাক্যটি অপ্রাসঙ্গিক। এবং হ্যাঁ, আপনি চাইলে আপনার সমস্ত কোডকে index.php এ স্থাপন করা পুরোপুরি বৈধ। এবং যদি এটি হয় তবে আপনার পদ্ধতিটি এটি করার একটি দ্রুত এবং সহজ উপায়, তাই আমি 20 ঘন্টা লক শেষ হওয়ার পরে আমার ডাউনটোটটি সরিয়ে ফেলব। তবুও, কেভস্ট্রআউটের উত্তর হিসাবে মূল ক্যোয়ারিটি পরিবর্তনের পরিবর্তে একটি নতুন ক্যোয়ারী প্রেরণ করা ইতিমধ্যে উল্লিখিত কারণে (আপনার দ্বারা, আমি এবং ডাব্লুপি কোডেক্স দ্বারা) কম অপ্রয়োজনীয়।
ডগ 16
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.