File manager - Edit - /home/vblioqus/unfreezetiktok.com/wp-content/plugins/kadence-blocks/includes/header/class-kadence-header-cpt.php
Back
<?php /** * Class managing the header CPT registration. */ class Kadence_Blocks_Header_CPT_Controller { /** * Instance Control * * @var null */ private static $instance = null; /** * Post type. * * @var string */ private $post_type = 'kadence_header'; /** * Instance Control. */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor function. */ public function __construct() { // Register the post type. add_action( 'init', array( $this, 'register_post_type' ), 2 ); add_action( 'init', array( $this, 'register_meta' ), 20 ); add_filter( 'user_has_cap', array( $this, 'filter_post_type_user_caps' ) ); // Define the form post gutenberg template. add_action( 'init', array( $this, 'form_gutenberg_template' ) ); add_filter( 'kadence_post_layout', array( $this, 'header_single_layout' ), 99 ); add_action( 'enqueue_block_editor_assets', array( $this, 'script_enqueue' ) ); add_action( 'enqueue_block_assets', array( $this, 'title_styles_enqueue' ) ); // Add a post display state for the current header (if choosen in theme). add_filter( 'display_post_states', array( $this, 'add_display_post_states' ), 10, 2 ); add_action( 'admin_bar_menu', array( $this, 'top_headers_admin_bar' ), 100 ); add_action( 'admin_bar_menu', array( $this, 'add_new_header_to_admin_bar' ), 100 ); if( is_admin() && class_exists( 'Kadence_Blocks_Duplicate_Post' ) ) { new Kadence_Blocks_Duplicate_Post( $this->post_type ); } if( is_admin() && class_exists( 'Kadence_Blocks_Cpt_Import_Export' ) ) { new Kadence_Blocks_Cpt_Import_Export( $this->post_type ); } } /** * Enqueue Script for Meta options */ public function script_enqueue() { wp_enqueue_script( 'kb-header-visual-builder', KADENCE_BLOCKS_URL . 'dist/header-visual-builder.js', array('kadence-components', 'kadence-helpers', 'kadence-icons', 'lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-url'), KADENCE_BLOCKS_VERSION ); } /** * Enqueue Title Styles */ public function title_styles_enqueue() { $post_type = get_post_type(); if ( $this->post_type !== $post_type ) { return; } $output = '.post-type-kadence_header.block-editor-page .editor-styles-wrapper .editor-post-title__block .editor-post-title__input, .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper { font-size: 1.5em; line-height: 1; padding-left: 0.5em; padding-right: 0.5em; border: 1px solid var(--wp-admin-theme-color); margin-top: 0 !important; padding-top: 24px; padding-bottom: 20px; margin-bottom: 20px; font-size: 1em; position: relative; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper:not(.specificity) { padding-top: 24px !important; padding-bottom: 20px !important; margin-bottom: 20px !important; margin-top: 0 !important; font-size: 1em; position: relative; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper .editor-post-title:before, .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper:before { content: "Title"; position: absolute; top: 0px; left: 0; font-size: 12px; font-weight: normal; line-height: 1; background: var(--wp-admin-theme-color); padding: 4px 6px; color: white; text-transform: uppercase; } /* Iframe CSS */ .post-type-kadence_header .edit-post-visual-editor__post-title-wrapper .editor-post-title { font-size: 1.2em; font-weight: 500; line-height: 1; margin: 0; } .post-type-kadence_header .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper .editor-post-title { font-size: 1.2em; font-weight: 500; line-height: 1; } .post-type-kadence_header .editor-styles-wrapper { padding:8px; margin: 0; } .post-type-kadence_header .is-root-container { padding: 0 !important; } .post-type-kadence_header .is-root-container > .wp-block {max-width: none;} .post-type-kadence_header .is-root-container > .wp-block.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header.wp-block-kadence-header:not(.specificity) { max-width: none !important; margin-left: unset !important; margin-right: unset !important; }.post-type-kadence_header .editor-styles-wrapper .is-root-container > .wp-block {max-width: none;} .post-type-kadence_header .editor-styles-wrapper .has-global-padding { padding: 0; } :where(.post-type-kadence_header) :where(.wp-block) {max-width: none;} :where(.post-type-kadence_header) :where(.editor-styles-wrapper) :where(.wp-block) {max-width: none;}'; wp_register_style( 'kadence_header_css', false ); wp_enqueue_style( 'kadence_header_css' ); wp_add_inline_style( 'kadence_header_css', $output ); } /** * Renders the header single template on the front end. * * @param array $layout the layout array. */ public function header_single_layout( $layout ) { global $post; if ( is_singular( $this->post_type ) || ( is_admin() && is_object( $post ) && $this->post_type === $post->post_type ) ) { $layout = wp_parse_args( array( 'layout' => 'fullwidth', 'boxed' => 'unboxed', 'feature' => 'hide', 'feature_position' => 'above', 'comments' => 'hide', 'navigation' => 'hide', 'title' => 'hide', 'transparent' => 'disable', 'sidebar' => 'disable', 'vpadding' => 'hide', 'footer' => 'disable', 'header' => 'disable', 'content' => 'enable', ), $layout ); } return $layout; } /** * Add filters for element content output. */ public function form_gutenberg_template() { $post_type_object = get_post_type_object( $this->post_type ); $post_type_object->template = array( array( 'kadence/header', ), ); $post_type_object->template_lock = 'all'; } /** * Registers the header post type. */ public function register_post_type() { register_post_type( $this->post_type, array( 'labels' => array( 'name' => _x( 'Kadence Header', 'post type general name', 'kadence-blocks' ), 'singular_name' => _x( 'Kadence Header', 'post type singular name', 'kadence-blocks' ), 'add_new' => __( 'Add New Kadence Header', 'kadence-blocks' ), 'add_new_item' => __( 'Add New Kadence Header', 'kadence-blocks' ), 'new_item' => __( 'New Kadence Header', 'kadence-blocks' ), 'edit_item' => __( 'Edit Kadence Header', 'kadence-blocks' ), 'view_item' => __( 'View Kadence Header', 'kadence-blocks' ), 'all_items' => __( 'Headers', 'kadence-blocks' ), 'search_items' => __( 'Search Kadence Headers', 'kadence-blocks' ), 'menu_name' => _x( 'Headers', 'admin menu', 'kadence-blocks' ), 'parent_item_colon' => __( 'Parent Kadence Header:', 'kadence-blocks' ), 'not_found' => __( 'No Kadence Header found.', 'kadence-blocks' ), 'not_found_in_trash' => __( 'No Kadence Header found in Trash.', 'kadence-blocks' ), 'archives' => __( 'Kadence Header archives', 'kadence-blocks' ), 'insert_into_item' => __( 'Insert into Kadence Header', 'kadence-blocks' ), 'uploaded_to_this_item' => __( 'Uploaded to this Kadence Header', 'kadence-blocks' ), 'filter_items_list' => __( 'Filter Kadence Header list', 'kadence-blocks' ), 'items_list_navigation' => __( 'Kadence Headers list navigation', 'kadence-blocks' ), 'items_list' => __( 'Kadence Headers list', 'kadence-blocks' ), ), 'description' => __( 'Kadence Headers that can be inserted into your site.', 'kadence-blocks' ), 'public' => false, 'has_archive' => false, 'show_ui' => true, 'show_in_menu' => 'kadence-blocks', 'show_in_admin_bar' => false, 'show_in_rest' => true, 'rewrite' => false, 'map_meta_cap' => true, 'capabilities' => array( 'edit_others_posts' => 'edit_theme_options', 'delete_posts' => 'edit_theme_options', 'publish_posts' => 'edit_theme_options', 'create_posts' => 'edit_theme_options', 'read_private_posts' => 'edit_theme_options', 'delete_private_posts' => 'edit_theme_options', 'delete_published_posts' => 'edit_theme_options', 'delete_others_posts' => 'edit_theme_options', 'edit_private_posts' => 'edit_theme_options', 'edit_published_posts' => 'edit_theme_options', 'edit_posts' => 'edit_theme_options', ), 'rest_base' => $this->post_type, 'rest_controller_class' => Kadence_Blocks_Header_CPT_Rest_Controller::class, 'supports' => array( 'title', 'editor', 'revisions', 'custom-fields' ), ) ); } /** * Check that user can edit these. */ public function meta_auth_callback() { return current_user_can( 'edit_kadence_header' ); } /** * Filters the capabilities of a user to conditionally grant them capabilities for managing headers. * * Any user who can 'edit_others_pages' will have access to manage headers. * * @param array $allcaps A user's capabilities. * * @return array Filtered $allcaps. */ public function filter_post_type_user_caps( $allcaps ) { if ( isset( $allcaps['edit_others_pages'] ) ) { $allcaps['edit_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_others_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_published_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['edit_private_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_others_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_published_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['delete_private_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['publish_kadence_header'] = $allcaps['edit_others_pages']; $allcaps['read_private_kadence_header'] = $allcaps['edit_others_pages']; } return $allcaps; } public function register_meta() { $register_meta = array( array( 'key' => '_kad_header_description', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_typography', 'type' => 'object', 'default' => array( 'color' => '', 'size' => array( '', '', '' ), 'sizeType' => 'px', 'lineHeight' => array( '', '', '' ), 'lineType' => '', 'letterSpacing' => array( '', '', '' ), 'letterType' => 'px', 'textTransform' => '', 'family' => '', 'google' => false, 'style' => '', 'weight' => '', 'variant' => '', 'subset' => '', 'loadGoogle' => true, ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'size' => array( 'type' => 'array' ), 'sizeType' => array( 'type' => 'string' ), 'lineHeight' => array( 'type' => 'array' ), 'lineType' => array( 'type' => 'string' ), 'letterSpacing' => array( 'type' => 'array' ), 'letterType' => array( 'type' => 'string' ), 'textTransform' => array( 'type' => 'string' ), 'family' => array( 'type' => 'string' ), 'google' => array( 'type' => 'boolean' ), 'style' => array( 'type' => 'string' ), 'weight' => array( 'type' => 'string' ), 'variant' => array( 'type' => 'string' ), 'subset' => array( 'type' => 'string' ), 'loadGoogle' => array( 'type' => 'boolean' ), ), ), array( 'key' => '_kad_header_border', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadius', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_borderTransparent', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTransparentTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderTransparentMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadiusTransparent', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusTransparentUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_borderSticky', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderStickyTablet', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderStickyMobile', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'top' => array( '', 'solid', '' ), 'right' => array( '', 'solid', '' ), 'bottom' => array( '', 'solid', '' ), 'left' => array( '', 'solid', '' ), 'unit' => 'px', ), ), 'properties' => array( 'top' => array( 'type' => 'array' ), 'right' => array( 'type' => 'array' ), 'bottom' => array( 'type' => 'array' ), 'left' => array( 'type' => 'array' ), 'unit' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_borderRadiusSticky', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyTablet', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyMobile', 'default' => array( 0, 0, 0, 0 ), 'type' => 'array', 'children_type' => 'integer', ), array( 'key' => '_kad_header_borderRadiusStickyUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_background', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_backgroundTransparent', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_backgroundSticky', 'type' => 'object', 'default' => array( 'color' => '', 'image' => '', 'imageID' => '', 'position' => 'center center', 'size' => 'cover', 'repeat' => 'no-repeat', 'attachment' => 'scroll', 'type' => 'normal', 'gradient' => '', ), 'properties' => array( 'color' => array( 'type' => 'string' ), 'image' => array( 'type' => 'string' ), 'imageID' => array( 'type' => 'string' ), 'position' => array( 'type' => 'string' ), 'size' => array( 'type' => 'string' ), 'repeat' => array( 'type' => 'string' ), 'attachment' => array( 'type' => 'string' ), 'type' => array( 'type' => 'string' ), 'gradient' => array( 'type' => 'string' ), ), ), array( 'key' => '_kad_header_anchor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_className', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_padding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_tabletPadding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_mobilePadding', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_paddingUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_margin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_tabletMargin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_mobileMargin', 'default' => array( '', '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_marginUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_linkColor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_linkHoverColor', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_height', 'default' => array( '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_heightUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_width', 'default' => array( '', '', '' ), 'type' => 'array', 'children_type' => 'string', ), array( 'key' => '_kad_header_widthUnit', 'default' => 'px', 'type' => 'string', ), array( 'key' => '_kad_header_isSticky', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isStickyTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isStickyMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparent', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparentTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_isTransparentMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_autoTransparentSpacing', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_stickySection', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_stickySectionTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_stickySectionMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMain', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_shrinkMainHeight', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMainHeightTablet', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_shrinkMainHeightMobile', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_revealScrollUp', 'default' => false, 'type' => 'boolean', ), array( 'key' => '_kad_header_inheritPostTransparent', 'default' => true, 'type' => 'boolean', ), array( 'key' => '_kad_header_disableTransparentOverrides', 'type' => 'array', 'properties' => array(), 'children_type' => 'string', 'default' => array(), ), array( 'key' => '_kad_header_shadow', 'type' => 'array', 'children_type' => 'object', 'default' => array( array( 'enable' => false, 'color' => '#000000', 'opacity' => 0.2, 'spread' => 0, 'blur' => 2, 'hOffset' => 0, 'vOffset' => 1, 'inset' => false, ), ), 'properties' => array( 'enable' => array( 'type' => 'boolean' ), 'color' => array( 'type' => 'string' ), 'opacity' => array( 'type' => 'number' ), 'spread' => array( 'type' => 'number' ), 'blur' => array( 'type' => 'number' ), 'hOffset' => array( 'type' => 'number' ), 'vOffset' => array( 'type' => 'number' ), 'inset' => array( 'type' => 'boolean' ), ), ), array( 'key' => '_kad_header_headerTag', 'default' => '', 'type' => 'string', ), array( 'key' => '_kad_header_mobileBreakpoint', 'type' => 'number', 'default' => 0, ), array( 'key' => '_kad_header_pro_backdropFilterType', 'type' => 'string', 'default' => '', ), array( 'key' => '_kad_header_pro_backdropFilterSize', 'type' => 'number', 'default' => 1, ), array( 'key' => '_kad_header_pro_backdropFilterString', 'type' => 'string', 'default' => '', ), ); foreach ( $register_meta as $meta ) { if ( 'string' === $meta['type'] ) { $show_in_rest = true; } elseif ( $meta['type'] === 'array' ) { $show_in_rest = array( 'schema' => array( 'type' => $meta['type'], 'items' => array( 'type' => $meta['children_type'] ), ), ); if ( ! empty( $meta['properties'] ) ) { $show_in_rest = array_merge_recursive( $show_in_rest, array( 'schema' => array( 'items' => array( 'properties' => $meta['properties'] ) ) ) ); } } elseif ( $meta['type'] === 'object' ) { $show_in_rest = array( 'schema' => array( 'type' => $meta['type'], 'properties' => $meta['properties'] ), ); } register_post_meta( $this->post_type, $meta['key'], array( 'single' => true, 'auth_callback' => array( $this, 'meta_auth_callback' ), 'type' => $meta['type'], 'default' => isset( $meta['default'] ) ? $meta['default'] : '', 'show_in_rest' => $show_in_rest, ) ); } } /** * Add a post display state for special pages in the page list table. * * @param array $post_states An array of post display states. * @param WP_Post $post The current post object. */ public function add_display_post_states( $post_states, $post ) { if ( class_exists( 'Kadence\Theme' ) ) { if(Kadence\kadence()->option( 'blocks_header' )) { $header_id = intval(Kadence\kadence()->option( 'blocks_header_id' )); if ( $header_id === $post->ID ) { $post_states['kb_post_for_header'] = __( 'Theme Header', 'kadence-blocks' ); } } } return $post_states; } /** * Adds a "Kadence Header" link to the WordPress admin bar "Headers" menu. * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. */ public function top_headers_admin_bar( $wp_admin_bar ) { $admin_bar_settings = get_option( 'kadence_blocks_admin_bar_settings' ); $show_headers_in_admin_bar = isset( $admin_bar_settings['show_headers_in_admin_bar'] ) && $admin_bar_settings['show_headers_in_admin_bar'] === 'true' ? true : false; if ( ! current_user_can( 'edit_posts' ) || ! $show_headers_in_admin_bar ) { return; } $wp_admin_bar->add_node( array( 'id' => 'kadence-top-headers', 'title' => __( 'Headers', 'kadence-blocks' ), 'href' => admin_url( 'edit.php?post_type=kadence_header' ), ) ); // Add the current header from theme customizer (first node) if ( class_exists( 'Kadence\Theme' ) ) { if ( Kadence\kadence()->option( 'blocks_header' ) ) { $header_id = intval( Kadence\kadence()->option( 'blocks_header_id' ) ); if ( $header_id ) { $header_post = get_post( $header_id ); if ( $header_post && 'kadence_header' === $header_post->post_type ) { // translators: %s is the header title $wp_admin_bar->add_node( array( 'id' => 'kadence-header-current', 'title' => sprintf( __( '%s (Theme)', 'kadence-blocks' ), $header_post->post_title ), 'parent' => 'kadence-top-headers', 'href' => get_edit_post_link( $header_id ), ) ); } } } } // Add the 5 most recent header posts $recent_headers = get_posts( array( 'post_type' => 'kadence_header', 'post_status' => 'publish', 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC', ) ); foreach ( $recent_headers as $header ) { $wp_admin_bar->add_node( array( 'id' => 'kadence-header-recent-' . $header->ID, 'title' => $header->post_title, 'parent' => 'kadence-top-headers', 'href' => get_edit_post_link( $header->ID ), ) ); } $wp_admin_bar->add_node( array( 'id' => 'kadence-header-add-new', 'title' => __( 'Add New', 'kadence-blocks' ), 'parent' => 'kadence-top-headers', 'href' => admin_url( 'post-new.php?post_type=kadence_header' ), ) ); } /** * Adds a "Kadence Header" link to the WordPress admin bar "New" dropdown menu. * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. */ public function add_new_header_to_admin_bar( $wp_admin_bar ) { $admin_bar_settings = get_option( 'kadence_blocks_admin_bar_settings' ); $show_headers_in_admin_bar = isset( $admin_bar_settings['show_headers_in_admin_bar'] ) && $admin_bar_settings['show_headers_in_admin_bar'] === 'true' ? true : false; // Only show for users who can create headers if ( ! current_user_can( 'edit_theme_options' ) || ! $show_headers_in_admin_bar ) { return; } $wp_admin_bar->add_node( array( 'id' => 'new-kadence-header', 'title' => __( 'Header', 'kadence-blocks' ), 'parent' => 'new-content', 'href' => admin_url( 'post-new.php?post_type=kadence_header' ), ) ); } } Kadence_Blocks_Header_CPT_Controller::get_instance();
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Generation time: 0.09 |
proxy
|
phpinfo
|
Settings