پیدا کردن تمام پست تایپ های تعریف شده

[short_link]

فانکشن پیدا و لیست کردن تمام پست تایپ های سفارشی تعریف شده در یک سایت

 

در قالب سایت ممکن هست برای پست تایپ هایی تعریف شده باشه و همینطور بعضی از افزونه ها مثل edd پست تایپ های مخصوص خودشون رو به سایت اضافه می کنن .

سفارشی سازی وردپرس

سفارشی سازی وردپرس

برای اینکه بفهمیم چه پست تایپ هایی در سایت تعریف شدن و اونها رو لیست کنیم از این فانکشن استفاده می کنیم که پست تایپ ها رو در یک آرایه ذخیره می کنیم .

 

add_action('init', function(){
global $all_post_types;
$all_post_types=array();
$post_types = get_post_types( array( 'public' => true ,'_builtin' => false), 'names' ); 
foreach($post_types as $key => $value){
$all_post_types[]=$value;
}
});

در صورتی که نیاز داشته باشیم که بدونیم از در هر پست تایپ چند پست منتشر شده و یا در جایی از سایت نمایش بدیم می تونیم با این کد تعداد پست ها رو پیدا کنیم و در آرایه ذخیره کنیم

 

add_action('init', function(){
global $all_post_types;
$all_post_types=array();
$post_types = get_post_types( array( 'public' => true ,'_builtin' => false), 'names' ); 
foreach($post_types as $key => $value){
    
$args = array(
'post_type' => $value,
'post_status' => 'publish');
$the_query = new WP_Query( $args );
$count_posts= $the_query->found_posts;    
$all_post_types[$value]=$count_posts;
}
print_r($all_post_types);

});

 

که خروجی اش چیزی شبیه این خواهد شد .

Array ( 
[article] => 98 
[theme] => 234
[plugin] => 76 
[codex] => 435 
[blog] => 2130 ) 

 

(0) دیدگاه برای این پست ثبت شده
دیدگاه خود را بفرستید
  1. اولین نفری باشید که دیدگاه خود را ثبت می کند!
« اضافه کردن لینک خروج از مدیریت وردپرس
راهنمای اضافه کردن آیتم جدید به منوی وردپرس »
wefwegwegweg/wp-content/themes/future