in web/wp-content/plugins/acf-extended/includes/modules/performance/module-performance-functions.php [103:212]
function acfe_is_object_performance_enabled($post_id = 0){
// check setting
if(!acfe_is_performance_enabled()){
return false;
}
// check post id
if(!$post_id){
return false;
}
// check local post id
if(acfe_is_local_post_id($post_id)){
return false;
}
// get config
$config = acfe_get_performance_config();
// validate engine exists
if(!acfe_get_performance_engine($config['engine'])){
return false;
}
/**
* @var $type
* @var $id
*/
extract(acf_decode_post_id($post_id));
// validate id
if(!$id){
return false;
}
switch($type){
// post types
case 'post': {
// get post type
$post_type = get_post_type($id);
// validate
if(!$post_type){
return false;
}
return acfe_is_object_type_performance_enabled('post', $post_type);
}
// taxonomies
case 'term': {
// get term
$term = get_term($id);
// validate
if(is_wp_error($term) || !is_a($term, 'WP_Term')){
return false;
}
// get taxonomy
$taxonomy = $term->taxonomy;
return acfe_is_object_type_performance_enabled('term', $taxonomy);
}
// users
case 'user': {
// get user
$user = get_userdata($id);
// validate
if(!($user) || !is_a($user, 'WP_User')){
return false;
}
// get roles
$roles = acf_get_array($user->roles);
// array of users
foreach($roles as $role){
if(acfe_is_object_type_performance_enabled('user', $role)){
return true;
}
}
return false;
}
// options pages
case 'option': {
return acfe_is_object_type_performance_enabled('option', $id);
}
}
// type not supported
// block types...
return false;
}