আমি একাধিক পোস্ট আইডির মাধ্যমে কীভাবে পোস্ট পেতে পারি?


21

আমি পোস্ট আইডি এর সঙ্গে একটি স্ট্রিং আছে: 43,23,65
আমি আশা করছিলাম যে আমি get_posts()আইডি এর সাথে স্ট্রিংটি যুক্তি হিসাবে ব্যবহার করতে এবং ব্যবহার করতে পারি ।

তবে আমি আইডি দিয়ে একাধিক পোস্ট পুনরুদ্ধার করার জন্য কোনও কার্যকারিতা খুঁজে পাচ্ছি না।

আমি কি সত্যিই একটি করতে হবে WP_query?

আমি কেউ ব্যবহার করে উল্লেখ করাও দেখেছি tag_in- তবে আমি এটির কোনও নথিপত্র পাই না।


আপনি কি get_posts() কোডেক্স.ওয়ার্ডপ্রেস.আর.আর.আল্ডপ্রেস.আর্গ.কম / টেপলেট_ট্যাগস / বিট_পোস্টের 'অন্তর্ভুক্ত' যুক্তিটি ব্যবহার করার চেষ্টা করেছেন ?
মাইকেল

উত্তর:


37

get_posts()এটি যেমন একই যুক্তি লাগে তেমন আপনি ব্যবহার করতে পারেন WP_Query

আইডিগুলি পাস করার জন্য, ব্যবহার করুন 'post__in' => array(43,23,65)(কেবল অ্যারে লাগে)।

কিছুটা এইরকম:

$args = array(
    'post__in' => array(43,23,65)
);

$posts = get_posts($args);

foreach ($posts as $p) :
    //post!
endforeach;

আমিও সেট চাই post_typeএবং posts_per_pageশুধু ভাল পরিমাপ জন্য।


এটি কাজ করে না।
অসন্তুষ্ট রাগ

কোন? আপনি এটি অ্যারে হিসাবে পাস? দুটি আন্ডারস্কোর ব্যবহার করছেন (পোস্ট__ ইন বনাম পোস্ট_)? একটি পোস্ট টাইপ পাস?
কুকিজফোর্ডেদেভো 6'15

1
আপনি যদি কোনও কাস্টম পোস্টের ধরণ পেয়ে থাকেন তবে post_typeযুক্তিটি ব্যবহার করুন এবং যদি আপনি 5 টিরও বেশি ফলাফল চান তবে 'nopaging' => trueবিকল্পটি যুক্ত করুন। আপনার যদি অ্যারের পরিবর্তে কমা বিচ্ছিন্ন স্ট্রিং থাকে তবে অ্যারেতে explode(',',$input);রূপান্তর করতে ব্যবহার করুন ।
এজাজ

1
আপনি যদি পোস্টগুলি যেভাবে পাশ দিয়ে চলেছেন সেভাবেই arrayক্রমটি রাখতে চান তবে 'order_by' => 'post__in'আপনার সাথে যোগ করার বিষয়টি নিশ্চিত করুন $args
rob_st

post_typeপরামিতি ব্যবহার করে সাবধান । এর ক্ষেত্রে post, ফাংশনটি আপনার কাস্টমগুলি সহ সমস্ত সামগ্রীর প্রকারগুলি ফেরত দেবে post
ফিউশন

3

যদি আপনি উপরের কাজটি না করতে পারেন তবে নিশ্চিত করুন যে আপনি যুক্ত করেছেন post_type:

$args = array(
    'post_type' => 'pt_case_study',
    'post__in' => array(2417, 2112, 784)
);

$posts = get_posts($args);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.