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:  * Post page implementation of Papi page.
  5:  */
  6: class Papi_Post_Page extends Papi_Core_Page {
  7: 
  8:     /**
  9:      * Data type to describe which
 10:      * type of page data is it.
 11:      *
 12:      * @var string
 13:      */
 14:     protected $type = self::TYPE_POST;
 15: 
 16:     /**
 17:      * The WordPress post.
 18:      *
 19:      * @var object
 20:      */
 21:     private $post;
 22: 
 23:     /**
 24:      * The Page type.
 25:      *
 26:      * @var Papi_Page_Type
 27:      */
 28:     private $page_type;
 29: 
 30:     /**
 31:      * The constructor.
 32:      *
 33:      * Create a new instance of the class.
 34:      *
 35:      * @param int $post_id
 36:      */
 37:     public function __construct( $post_id = 0 ) {
 38:         if ( $post_id === 0 ) {
 39:             $this->id = papi_get_post_id();
 40:         } else {
 41:             $this->id = intval( $post_id );
 42:         }
 43: 
 44:         $this->post      = get_post( $this->id );
 45:         $id              = papi_get_page_type_id( $this->id );
 46:         $this->page_type = papi_get_page_type_by_id( $id );
 47:     }
 48: 
 49:     /**
 50:      * Get the page type object of the page.
 51:      *
 52:      * @return Papi_Page_Type
 53:      */
 54:     public function get_page_type() {
 55:         return $this->page_type;
 56:     }
 57: 
 58:     /**
 59:      * Get the permalink for the page.
 60:      *
 61:      * @return string
 62:      */
 63:     public function get_permalink() {
 64:         return get_permalink( $this->id );
 65:     }
 66: 
 67:     /**
 68:      * Get the WordPress post object.
 69:      *
 70:      * @return WP_Post
 71:      */
 72:     public function get_post() {
 73:         return $this->post;
 74:     }
 75: 
 76:     /**
 77:      * Get the post status of a page.
 78:      *
 79:      * @return string
 80:      */
 81:     public function get_status() {
 82:         return get_post_status( $this->id );
 83:     }
 84: 
 85:     /**
 86:      * Load property from page type.
 87:      *
 88:      * @param  string $slug
 89:      * @param  string $child_slug
 90:      *
 91:      * @return object
 92:      */
 93:     public function get_property( $slug, $child_slug = '' ) {
 94:         $page_type_id = papi_get_page_type_id( $this->id );
 95:         $page_type    = papi_get_page_type_by_id( $page_type_id );
 96: 
 97:         if ( $page_type instanceof Papi_Page_Type === false ) {
 98:             return;
 99:         }
100: 
101:         return $page_type->get_property( $slug, $child_slug );
102:     }
103: 
104:     /**
105:      * Check if the page has the post object and that it's not null.
106:      *
107:      * @return bool
108:      */
109:     public function valid() {
110:         return ! is_null( $this->post );
111:     }
112: }
113: 
API documentation generated by ApiGen