GIF89A;
Server : Microsoft-IIS/10.0 System : Windows NT HMW9050 6.2 build 9200 (Unknow Windows version Standard Edition) i586 User : fatorc ( 0) PHP Version : 5.3.28 Disable Function : escapeshellarg, escapeshellcmd, exec, passthru, proc_close, proc_open, shell_exec, system, dl, popen, php_check_syntax, php_strip_whitespace, symlink, link, openlog, apache_child_terminate Directory : e:/home/fatorc/Web/wp-content/plugins/types/application/models/ |
Upload File : |
<?php /** * FIXME please document this! */ class Types_Post_Type { /** @var null|WP_Post_Type */ protected $wp_post_type; protected $name; protected $field_groups; protected $taxonomies; public function __construct( $post_type ) { if( is_object( $post_type ) && isset( $post_type->name ) ) { $this->wp_post_type = $post_type; $this->name = $post_type->name; } else { $this->name = $post_type; $registered = get_post_type_object( $post_type ); if( $registered ) { $this->wp_post_type = $registered; } } } public function __isset( $property ) { if( $this->wp_post_type === null ) return false; if( ! property_exists( $this->wp_post_type, 'labels' ) ) return false; if( ! property_exists( $this->wp_post_type->labels, $property ) ) return false; return true; } public function __get( $property ) { if( ! $this->__isset( $property ) ) return false; return $this->wp_post_type->labels->$property; } public function get_name() { return $this->name; } /** * Get the backend edit link. * * @return string * @since 2.1 */ public function get_edit_link() { return admin_url() . 'admin.php?page=wpcf-edit-type&wpcf-post-type=' . $this->get_name(); } /** * Register Post Type */ /** * Assigned Field Groups */ private function fetch_field_groups() { global $wpdb; $sql = 'SELECT post_id FROM ' .$wpdb->postmeta . ' WHERE meta_key="_wp_types_group_post_types" AND (meta_value LIKE "%' . $this->name . '%" OR meta_value="all" OR meta_value REGEXP "^[,]+$") ORDER BY post_id ASC'; $post_ids = $wpdb->get_col( $sql ); $this->field_groups = array(); foreach( $post_ids as $id ) { $field_group = Types_Field_Group_Post_Factory::load( $id ); if( $field_group ) $this->field_groups[] = $field_group; } } public function get_field_groups() { if( $this->field_groups == null ) $this->fetch_field_groups(); return $this->field_groups; } /** * Assigned Taxonomies */ private function fetch_taxonomies() { $taxonomies = array(); $all_taxonomies = get_taxonomies( '', 'objects' ); foreach( $all_taxonomies as $tax ) { if( in_array( $this->get_name(), $tax->object_type ) ) $taxonomies[] = new Types_Taxonomy( $tax ); } $this->taxonomies = $taxonomies; } public function get_taxonomies() { if( $this->taxonomies == null ) $this->fetch_taxonomies(); return $this->taxonomies; } /** * Assigned Templates */ /** * Assigned Archives */ /** * Assigned Views */ /** * Assigned Forms */ }