Overview

Classes

  • Papi_Admin
  • Papi_Admin_Ajax
  • Papi_Admin_Assets
  • Papi_Admin_Management_Pages
  • Papi_Admin_Menu
  • Papi_Admin_Meta_Box
  • Papi_Admin_Meta_Box_Tabs
  • Papi_Admin_Option_Handler
  • Papi_Admin_Post_Handler
  • Papi_Admin_View
  • Papi_Attachment_Type
  • Papi_Conditional_Rules
  • Papi_Container
  • Papi_Core_Autoload
  • Papi_Core_Conditional
  • Papi_Core_Conditional_Rule
  • Papi_Core_Data_Handler
  • Papi_Core_Page
  • Papi_Core_Property
  • Papi_Core_Type
  • Papi_Loader
  • Papi_Option_Page
  • Papi_Option_Type
  • Papi_Page_Type
  • Papi_Page_Type_Meta
  • Papi_Porter
  • Papi_Porter_Driver
  • Papi_Porter_Driver_Core
  • Papi_Post_Page
  • Papi_Property
  • Papi_Property_Bool
  • Papi_Property_Checkbox
  • Papi_Property_Color
  • Papi_Property_Datetime
  • Papi_Property_Divider
  • Papi_Property_Dropdown
  • Papi_Property_Editor
  • Papi_Property_Email
  • Papi_Property_File
  • Papi_Property_Flexible
  • Papi_Property_Gallery
  • Papi_Property_Hidden
  • Papi_Property_Html
  • Papi_Property_Image
  • Papi_Property_Link
  • Papi_Property_Number
  • Papi_Property_Post
  • Papi_Property_Radio
  • Papi_Property_Reference
  • Papi_Property_Relationship
  • Papi_Property_Repeater
  • Papi_Property_String
  • Papi_Property_Term
  • Papi_Property_Text
  • Papi_Property_Url
  • Papi_Property_User

Functions

  • current_page
  • papi
  • papi_action_delete_value
  • papi_action_include
  • papi_append_post_type_query
  • papi_body_class
  • papi_cache_delete
  • papi_cache_get
  • papi_cache_key
  • papi_cache_set
  • papi_camel_case
  • papi_cast_string_value
  • papi_convert_to_string
  • papi_current_user_is_allowed
  • papi_dashify
  • papi_delete_field
  • papi_delete_option
  • papi_delete_property_meta_value
  • papi_display_page_type
  • papi_doing_ajax
  • papi_esc_html
  • papi_f
  • papi_field
  • papi_field_shortcode
  • papi_field_value
  • papi_fields
  • papi_filter_conditional_rule_allowed
  • papi_filter_core_load_one_type_on
  • papi_filter_format_value
  • papi_filter_load_value
  • papi_filter_settings_directories
  • papi_filter_settings_only_page_type
  • papi_filter_settings_page_type_column_title
  • papi_filter_settings_show_page_type
  • papi_filter_settings_show_standard_page_type
  • papi_filter_settings_show_standard_page_type_in_filter
  • papi_filter_settings_sort_order
  • papi_filter_settings_standard_page_description
  • papi_filter_settings_standard_page_name
  • papi_filter_settings_standard_page_thumbnail
  • papi_filter_update_value
  • papi_from_property_array_slugs
  • papi_get_all_files_in_directory
  • papi_get_all_page_type_files
  • papi_get_all_page_types
  • papi_get_box_property
  • papi_get_class_name
  • papi_get_field
  • papi_get_file_path
  • papi_get_number_of_pages
  • papi_get_only_objects
  • papi_get_option
  • papi_get_options_and_properties
  • papi_get_or_post
  • papi_get_page
  • papi_get_page_new_url
  • papi_get_page_query_strings
  • papi_get_page_type
  • papi_get_page_type_base_path
  • papi_get_page_type_by_id
  • papi_get_page_type_by_post_id
  • papi_get_page_type_id
  • papi_get_page_type_key
  • papi_get_page_type_meta_value
  • papi_get_page_type_name
  • papi_get_page_type_template
  • papi_get_parent_post_id
  • papi_get_post_id
  • papi_get_post_type
  • papi_get_post_type_label
  • papi_get_post_types
  • papi_get_property_class_name
  • papi_get_property_meta_value
  • papi_get_property_options
  • papi_get_property_type
  • papi_get_property_type_key
  • papi_get_property_type_key_f
  • papi_get_qs
  • papi_get_sanitized_post
  • papi_get_slugs
  • papi_get_tab_options
  • papi_html_name
  • papi_html_tag
  • papi_include_template
  • papi_is_empty
  • papi_is_json
  • papi_is_method
  • papi_is_option_page
  • papi_is_option_type
  • papi_is_page_type
  • papi_is_property
  • papi_is_property_type_key
  • papi_is_rule
  • papi_management_page_type_render_box
  • papi_maybe_convert_to_array
  • papi_maybe_convert_to_object
  • papi_maybe_get_callable_value
  • papi_maybe_json_decode
  • papi_maybe_json_encode
  • papi_nl2br
  • papi_option_shortcode
  • papi_option_type_exists
  • papi_page_type_exists
  • papi_populate_properties
  • papi_property
  • papi_remove_papi
  • papi_remove_trailing_quotes
  • papi_render_html_tag
  • papi_render_properties
  • papi_render_property
  • papi_require_text
  • papi_required_html
  • papi_rule
  • papi_santize_data
  • papi_set_page_type_id
  • papi_setup_tabs
  • papi_slugify
  • papi_sort_order
  • papi_tab
  • papi_template
  • papi_template_include
  • papi_to_array
  • papi_to_property_array_slugs
  • papi_translate_keys
  • papi_underscorify
  • papi_update_field
  • papi_update_option
  • papi_update_property_meta_value
  • papi_with
  • papify
  • the_papi_field
  • the_papi_option
  • the_papi_page_type_name
  • Overview
  • Class
 1: <?php
 2: 
 3: /**
 4:  * Admin class that handles admin tabs in
 5:  * meta boxes.
 6:  */
 7: final class Papi_Admin_Meta_Box_Tabs {
 8: 
 9:     /**
10:      * The tabs.
11:      *
12:      * @var array
13:      */
14:     private $tabs = [];
15: 
16:     /**
17:      * The constructor.
18:      *
19:      * @param array $tabs
20:      * @param bool  $render
21:      */
22:     public function __construct( $tabs = [], $render = true ) {
23:         if ( empty( $tabs ) ) {
24:             return;
25:         }
26: 
27:         $this->tabs = papi_setup_tabs( $tabs );
28: 
29:         if ( $render ) {
30:             $this->html();
31:         }
32:     }
33: 
34:     /**
35:      * Get the tabs that are registered.
36:      *
37:      * @return array
38:      */
39:     public function get_tabs() {
40:         return $this->tabs;
41:     }
42: 
43:     /**
44:      * Generate html for tabs and properties.
45:      */
46:     private function html() {
47:         ?>
48:         <div class="papi-tabs-wrapper">
49:             <div class="papi-tabs-table-back"></div>
50:             <div class="papi-tabs-back"></div>
51:             <ul class="papi-tabs">
52:                 <?php
53: 
54:                 foreach ( $this->tabs as $tab ):
55:                     ?>
56:                     <li class="<?php echo $this->tabs[0] === $tab ? 'active' : ''; ?>">
57:                         <a href="#" data-papi-tab="<?php echo $tab->options->_name; ?>">
58:                             <?php if ( ! empty( $tab->options->icon ) ): ?>
59:                                 <img src="<?php echo $tab->options->icon; ?>" alt="<?php echo $tab->options->title; ?>"/>
60:                             <?php endif;
61:                             echo $tab->options->title; ?>
62:                         </a>
63:                     </li>
64:                 <?php
65:                 endforeach;
66:                 ?>
67:             </ul>
68:             <div class="papi-tabs-content">
69:                 <?php
70:                 foreach ( $this->tabs as $tab ):
71:                     ?>
72:                     <div class="<?php echo $this->tabs[0] === $tab ? 'active' : ''; ?>"
73:                          data-papi-tab="<?php echo $tab->options->_name; ?>">
74:                         <?php
75:                         $properties = papi_populate_properties( $tab->properties );
76: 
77:                         $properties = array_map( function ( $property ) {
78:                             // While in a tab the sidebar is required.
79:                             $property->sidebar = true;
80: 
81:                             return $property;
82:                         }, $properties );
83: 
84:                         papi_render_properties( $properties );
85:                         ?>
86:                     </div>
87:                 <?php
88:                 endforeach;
89:                 ?>
90:             </div>
91:         </div>
92:         <div class="papi-clear"></div>
93:     <?php
94:     }
95: }
96: 
API documentation generated by ApiGen