/
home
/
rekodeb
/
webrennes
/
wp-content
/
plugins
/
codestar-framework
/
classes
/
Upload File
HOME
<?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly. /** * * Fields Class * * @since 1.0.0 * @version 1.0.0 * */ if( ! class_exists( 'CSF_Fields' ) ) { abstract class CSF_Fields extends CSF_Abstract { public function __construct( $field = array(), $value = '', $unique = '', $where = '', $parent = '' ) { $this->field = $field; $this->value = $value; $this->unique = $unique; $this->where = $where; $this->parent = $parent; } public function field_name( $nested_name = '' ) { $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : ''; $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $field_id .']' : $field_id; $field_name = ( ! empty( $this->field['name'] ) ) ? $this->field['name'] : $unique_id; $tag_prefix = ( ! empty( $this->field['tag_prefix'] ) ) ? $this->field['tag_prefix'] : ''; if( ! empty( $tag_prefix ) ) { $nested_name = str_replace( '[', '['. $tag_prefix, $nested_name ); } return $field_name . $nested_name; } public function field_attributes( $custom_atts = array() ) { $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : ''; $attributes = ( ! empty( $this->field['attributes'] ) ) ? $this->field['attributes'] : array(); if( ! empty( $field_id ) ) { $attributes['data-depend-id'] = $field_id; } if( ! empty( $this->field['placeholder'] ) ) { $attributes['placeholder'] = $this->field['placeholder']; } $attributes = wp_parse_args( $attributes, $custom_atts ); $atts = ''; if( ! empty( $attributes ) ) { foreach ( $attributes as $key => $value ) { if( $value === 'only-key' ) { $atts .= ' '. $key; } else { $atts .= ' '. $key . '="'. $value .'"'; } } } return $atts; } public function field_before() { return ( ! empty( $this->field['before'] ) ) ? $this->field['before'] : ''; } public function field_after() { $output = ( ! empty( $this->field['after'] ) ) ? $this->field['after'] : ''; $output .= ( ! empty( $this->field['desc'] ) ) ? '<p class="csf-text-desc">'. $this->field['desc'] .'</p>' : ''; $output .= ( ! empty( $this->field['help'] ) ) ? '<span class="csf-help"><span class="csf-help-text">'. $this->field['help'] .'</span><span class="fa fa-question-circle"></span></span>' : ''; $output .= ( ! empty( $this->field['_error'] ) ) ? '<p class="csf-text-error">'. $this->field['_error'] .'</p>' : ''; return $output; } public function field_data( $type = '' ) { $options = array(); $query_args = ( ! empty( $this->field['query_args'] ) ) ? $this->field['query_args'] : array(); switch( $type ) { case 'page': case 'pages': $pages = get_pages( $query_args ); if ( ! is_wp_error( $pages ) && ! empty( $pages ) ) { foreach ( $pages as $page ) { $options[$page->ID] = $page->post_title; } } break; case 'post': case 'posts': $posts = get_posts( $query_args ); if ( ! is_wp_error( $posts ) && ! empty( $posts ) ) { foreach ( $posts as $post ) { $options[$post->ID] = $post->post_title; } } break; case 'category': case 'categories': $categories = get_categories( $query_args ); if ( ! is_wp_error( $categories ) && ! empty( $categories ) && ! isset( $categories['errors'] ) ) { foreach ( $categories as $category ) { $options[$category->term_id] = $category->name; } } break; case 'tag': case 'tags': $taxonomies = ( isset( $query_args['taxonomies'] ) ) ? $query_args['taxonomies'] : 'post_tag'; $tags = get_terms( $taxonomies, $query_args ); if ( ! is_wp_error( $tags ) && ! empty( $tags ) ) { foreach ( $tags as $tag ) { $options[$tag->term_id] = $tag->name; } } break; case 'menu': case 'menus': $menus = wp_get_nav_menus( $query_args ); if ( ! is_wp_error( $menus ) && ! empty( $menus ) ) { foreach ( $menus as $menu ) { $options[$menu->term_id] = $menu->name; } } break; case 'post_type': case 'post_types': $post_types = get_post_types( array( 'show_in_nav_menus' => true ) ); if ( ! is_wp_error( $post_types ) && ! empty( $post_types ) ) { foreach ( $post_types as $post_type ) { $options[$post_type] = ucfirst($post_type); } } break; case 'sidebar': case 'sidebars': global $wp_registered_sidebars; if( ! empty( $wp_registered_sidebars ) ) { foreach( $wp_registered_sidebars as $sidebar ) { $options[$sidebar['id']] = $sidebar['name']; } } break; case 'role': case 'roles': global $wp_roles; if( is_object( $wp_roles ) ) { $roles = $wp_roles->get_names(); if( ! empty( $wp_roles ) ) { foreach( $roles as $key => $value ) { $options[$key] = $value; } } } break; default: if( function_exists( $type ) ) { $options = call_user_func( $type, $this->value, $this->field ); } break; } return $options; } } }