| Server IP : 185.252.147.100 / Your IP : 216.73.217.33 Web Server : nginx/1.27.3 System : Linux mitrofanov.ru 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 User : mitr ( 1000) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/html/epauto.ru/wordpress/wp-content/plugins/acf-extended/includes/ |
Upload File : |
<?php
if(!defined('ABSPATH')){
exit;
}
/**
* acfe_get_post_types
*
* Query & retrieve post types
*
* @param array $args
*
* @return array
*/
function acfe_get_post_types($args = array()){
// vars
$return = array();
// extract special args
$include = acf_extract_var($args, 'include');
$include = acf_get_array($include);
// get post types
$posts_types = acf_get_post_types($args);
// allow to retrieve post when has_archive is true
if(!empty($args['has_archive'])){
// check post has archive
$post_archive = get_option('show_on_front') === 'posts' || (get_option('show_on_front') === 'page' && get_option('page_for_posts'));
// append post
if($post_archive && !in_array('post', $posts_types)){
$posts_types[] = 'post';
}
}
// loop
foreach($posts_types as $post_type){
// validate include
if(!empty($include) && !in_array($post_type, $include)){
continue;
}
// append
$return[] = $post_type;
}
// return
return $return;
}
/**
* acfe_get_post_type_objects
*
* Query & retrieve post types objects
*
* @param array $args
*
* @return array
*/
function acfe_get_post_type_objects($args = array()){
// vars
$return = array();
// get post types
$posts_types = acfe_get_post_types($args);
// loop
foreach($posts_types as $post_type){
// get object
$object = get_post_type_object($post_type);
// append
$return[ $object->name ] = $object;
}
// return
return $return;
}
/**
* acfe_get_pretty_post_statuses
*
* Similar to acf_get_pretty_post_types() but for Post Statuses
*
* @param array $posts_statuses
*
* @return array
*/
function acfe_get_pretty_post_statuses($posts_statuses = array()){
// vars
$ref = array();
$return = array();
// get post statuses
if(empty($posts_statuses)){
$posts_statuses = get_post_stati();
}
// loop
foreach($posts_statuses as $post_status){
// vars
$object = get_post_status_object($post_status);
$label = $object->label;
// append to return
$return[ $object->name ] = $label;
// increase counter
if(!isset($ref[ $label ])){
$ref[ $label ] = 0;
}
$ref[ $label ]++;
}
// get slugs
foreach(array_keys($return) as $slug){
// vars
$label = $return[ $slug ];
// append slug
if($ref[ $label ] > 1){
$return[ $slug ] .= " ({$slug})";
}
}
// return
return $return;
}