PATH:
home
/
lab2454c
/
adenbic.com
/
wp-content
/
plugins
/
TemplatemelaMetaBox
/
inc
/
fields
<?php // Prevent loading this file directly defined( 'ABSPATH' ) || exit; // Make sure "select" field is loaded require_once RWMB_FIELDS_DIR . 'select-advanced.php'; if ( !class_exists( 'RWMB_Post_Field' ) ) { class RWMB_Post_Field extends RWMB_Field { /** * Enqueue scripts and styles * * @return void */ static function admin_enqueue_scripts() { RWMB_Select_Advanced_Field::admin_enqueue_scripts(); } /** * Get field HTML * * @param mixed $meta * @param array $field * * @return string */ static function html( $meta, $field ) { $field['options'] = self::get_options( $field ); switch ( $field['field_type'] ) { case 'select': return RWMB_Select_Field::html( $meta, $field ); case 'select_advanced': default: return RWMB_Select_Advanced_Field::html( $meta, $field ); } } /** * Normalize parameters for field * * @param array $field * * @return array */ static function normalize_field( $field ) { $default_post_type = esc_html__( 'Post', 'cartzilla' ); if ( is_string( $field['post_type'] ) ) { $post_type_object = get_post_type_object( $field['post_type'] ); $default_post_type = $post_type_object->labels->singular_name; } $field = wp_parse_args( $field, array( 'post_type' => 'post', 'field_type' => 'select_advanced', 'parent' => false, 'query_args' => array() ) ); $field['std'] = empty( $field['std'] ) ? sprintf( esc_html__( 'Select a %s', 'cartzilla' ), $default_post_type ) : $field['std']; if ( $field['parent'] ) { $field['multiple'] = false; $field['field_name'] = 'parent_id'; } $field['query_args'] = wp_parse_args( $field['query_args'], array( 'post_type' => $field['post_type'], 'post_status' => 'publish', 'posts_per_page' => '-1' ) ); switch ( $field['field_type'] ) { case 'select': return RWMB_Select_Field::normalize_field( $field ); break; case 'select_advanced': default: return RWMB_Select_Advanced_Field::normalize_field( $field ); } } /** * Get meta value * If field is cloneable, value is saved as a single entry in DB * Otherwise value is saved as multiple entries (for backward compatibility) * * @see "save" method for better understanding * * @param $post_id * @param $saved * @param $field * * @return array */ static function meta( $post_id, $saved, $field ) { if ( isset( $field['parent'] ) && $field['parent'] ) { $post = get_post( $post_id ); return $post->post_parent; } return RWMB_Select_Field::meta( $post_id, $saved, $field ); } /** * Save meta value * If field is cloneable, value is saved as a single entry in DB * Otherwise value is saved as multiple entries (for backward compatibility) * * TODO: A good way to ALWAYS save values in single entry in DB, while maintaining backward compatibility * * @param $new * @param $old * @param $post_id * @param $field */ static function save( $new, $old, $post_id, $field ) { return RWMB_Select_Field::save( $new, $old, $post_id, $field ); } /** * Get posts * * @param array $field * * @return array */ static function get_options( $field ) { $query = new WP_Query( $field['query_args'] ); if ( $query->have_posts() ) { while( $query->have_posts() ) { $post = $query->next_post(); $options[$post->ID] = $post->post_title; } } else { $options = array(); } return $options; } } }
[-] image-select.php
[edit]
[-] select-advanced.php
[edit]
[-] image-advanced.php
[edit]
[-] checkbox-list.php
[edit]
[-] slider.php
[edit]
[-] hidden.php
[edit]
[-] range.php
[edit]
[+]
..
[-] email.php
[edit]
[-] file-input.php
[edit]
[-] button.php
[edit]
[-] password.php
[edit]
[-] taxonomy-advanced.php
[edit]
[-] post.php
[edit]
[-] number.php
[edit]
[-] datetime.php
[edit]
[-] checkbox.php
[edit]
[-] thickbox-image.php
[edit]
[-] color.php
[edit]
[-] select.php
[edit]
[-] plupload-image.php
[edit]
[-] url.php
[edit]
[-] file.php
[edit]
[-] file-advanced.php
[edit]
[-] textarea.php
[edit]
[-] taxonomy.php
[edit]
[-] oembed.php
[edit]
[-] radio.php
[edit]
[-] time.php
[edit]
[-] fieldset-text.php
[edit]
[-] divider.php
[edit]
[-] date.php
[edit]
[-] map.php
[edit]
[-] text-list.php
[edit]
[-] wysiwyg.php
[edit]
[-] text.php
[edit]
[-] heading.php
[edit]
[-] image.php
[edit]