আমি আপনার আপডেট করার জন্য একটি ছোট উত্তর দিতে, সঙ্গে এই কাজ করবে ডাব্লু এপিআই । এপিআই-তে ডাব্লুপি_কিউয়ারি ব্যবহার করার সম্ভাবনা রয়েছে তবে ইউআরএলটিতে প্যারামিটারগুলিও রয়েছে।
পোস্টের স্থিতি থেকে সামগ্রীটি টানতে একটি ইউআরএল দেখতে এই রকম হবে:
http://example.com/wp-json/posts
আপনার ব্যবহৃত WP_Query পরামিতিগুলির সাথে সামগ্রী টানতে আপনি এটি এইভাবে করতে পারেন:
http://example.com/wp-json/posts?filter[posts_per_page]=2&filter[order]=ASC
আপনি url এ সমস্ত পরামিতি সহ আপনার কাস্টম ক্যোয়ারী তৈরি করতে পারেন। আপনি দেখতে পাচ্ছেন যে ডেটা দখল করার পদ্ধতিটি কীভাবে WP_Query
একটি স্ট্যান্ডার্ড ওয়ার্ডপ্রেস লুপের জন্য ব্যবহারের সাথে পরিচিত familiar আপনি যদি কোনও প্যারামিটার নির্দিষ্ট না করেন তবে ডিফল্টগুলি WP_Query
ব্যবহার করা হবে।
ফলাফলটি জসন, যা আপনি আপনার জন্য এবং বাইরের সাইটের জন্য পার্স করতে পারেন।
আরও দেখুন API- এর সাইটে আরো পরামিতি এবং ডকুমেন্টেশন জন্য।
জন্য আপডেট date_query
এপিআই এর মতো ক্যোয়ারির জন্য ফলাফল তৈরি করতে পারে না query_date
। সমস্ত সম্ভাব্য পরামিতিগুলির জন্য ডকুমেন্টেশন দেখুন ।
তবে নতুন সংস্করণটি প্রকাশের দিন, সপ্তাহগুলিতে প্রকাশিত হবে। এবং এই তারিখের প্রশ্নের জন্য একটি সমাধান সম্পর্কে আলোচনার জন্য এই সমস্যাটি দেখুন । বিকল্প হুক মাধ্যমে একটি কাস্টম ফিল্টার ব্যবহার করুন, যেমন:
// Allow datequery in /posts filter
add_filter( "json_query_vars", function( $query_args ) {
return array_merge( $query_args,
array( "date_query" => array( array( "after" => "1 week ago" ) ) )
);
} );
জন্য আপডেট meta_query
ডিফল্ট ডাব্লুপি-কোয়েরির এই বৈশিষ্ট্যটিও এপিআই করতে পারে না। তবে আপনি এই প্রয়োজনীয়তার সাথে API উন্নত করতে একটি হুক ব্যবহার করতে পারেন। এছাড়াও এখানে একটি ছোট উদাহরণ।
add_filter('json_query_var-meta_query', 'add_meta_query', 10, 1);
function add_meta_query( $data ){
$args = array();
$args['relation'] = 'AND';
foreach ( $data as $key => $value ) {
if ( 'relation' === $key ) {
$args['relation'] = $data['relation'];
}
if ( substr($key, 0, 3) === 'key' ) {
$arg_num = substr( $key, 3 );
$args[ (int) $arg_num ][ 'key' ] = $value;
}
if ( substr( $key, 0, 7 ) === 'compare' ) {
$arg_num_comp = substr( $key, 7 );
$args[ (int) $arg_num_comp ][ 'compare' ] = $value;
}
}
return $args;
}
ইতিমধ্যে, আমি ইতিমধ্যে সার্ভারে Wp_query পোস্ট ফিল্টার নকল করতে JSON কে এইরকম শান্ত বলতে পারি:
?filter[meta_query][key]=_newsml_categories_newsstream&filter[meta_query][key2]=homepage&filter[meta_query][relation]=AND&filter[meta_query][compare]=NOT%20EXISTS&filter[meta_query][compare2]=NOT%20EXISTS
এই উত্তর থেকে ভিত্তি করে মেটা ক্যোয়ারী আপডেট ।