আমি দেখতে পেয়েছি যে অনেকেই ক্যোয়ারী_পোস্টের পরিবর্তে প্রিজেট_পোস্ট হুক ব্যবহার করতে পছন্দ করে
হ্যাঁ!
সুতরাং pre_get_posts
একটি ফিল্টার WP_Query
বস্তুর যার মানে কিছু মাধ্যমে আপনাকে কাজ করতে পারে query_posts()
আপনি মাধ্যমে কি করতে পারেন $query->set()
এবং $query->get()
। বিশেষত আমরা meta_query
বৈশিষ্ট্যটি ব্যবহার করতে পারি ( কোডেক্স দেখুন ):
$meta_query = array(
array(
'key'=>'featured',
'value'=>'yes',
'compare'=>'!=',
),
);
$query->set('meta_query',$meta_query);
তবে .. এটি মূল 'মেটা ক্যোয়ারী' (যদি এটির একটি থাকে) প্রতিস্থাপন করে। সুতরাং আপনি যদি না পুরোপুরি আসল মেটা ক্যোয়ারীটি পুরোপুরি প্রতিস্থাপন করতে চান তবে আমার পরামর্শ:
//Get original meta query
$meta_query = $query->get('meta_query');
//Add our meta query to the original meta queries
$meta_query[] = array(
'key'=>'featured',
'value'=>'yes',
'compare'=>'!=',
);
$query->set('meta_query',$meta_query);
এইভাবে আমরা বিদ্যমান মেটা প্রশ্নের পাশাপাশি আমাদের মেটা ক্যোয়ারী যুক্ত করি।
আপনি / সেট করতে চান পারে relation
সম্পত্তির $meta_query
করার AND
বা OR
(রিটার্ন পোস্টগুলি যা সব সন্তুষ্ট, অথবা অন্তত এক, মেটা প্রশ্নের)।
* দ্রষ্টব্য: এই ধরণের ক্যোয়ারী 'বৈশিষ্ট্যযুক্ত' মেটা কী সহ পোস্টগুলি ফিরিয়ে দেবে, তবে যার মান নয় yes
। এটি এমন পোস্টগুলিকে অন্তর্ভুক্ত করবে না যেখানে 'বৈশিষ্ট্যযুক্ত' মেটা কী উপস্থিত নেই। আপনি 3.5 এ এটি করতে সক্ষম হবেন ।