_x( 'Page Headers', 'Post Type General Name', 'gp-premium' ), 'singular_name' => _x( 'Page Header', 'Post Type Singular Name', 'gp-premium' ), 'menu_name' => __( 'Page Headers', 'gp-premium' ), 'name_admin_bar' => __( 'Page Header', 'gp-premium' ), 'archives' => __( 'Page Header Archives', 'gp-premium' ), 'parent_item_colon' => __( 'Parent Page Header:', 'gp-premium' ), 'all_items' => __( 'All Page Headers', 'gp-premium' ), 'add_new_item' => __( 'Add New Page Header', 'gp-premium' ), 'new_item' => __( 'New Page Header', 'gp-premium' ), 'edit_item' => __( 'Edit Page Header', 'gp-premium' ), 'update_item' => __( 'Update Page Header', 'gp-premium' ), 'view_item' => __( 'View Page Header', 'gp-premium' ), 'search_items' => __( 'Search Page Header', 'gp-premium' ), 'insert_into_item' => __( 'Insert into Page Header', 'gp-premium' ), 'uploaded_to_this_item' => __( 'Uploaded to this Page Header', 'gp-premium' ), ); $args = array( 'label' => __( 'Page Header', 'gp-premium' ), 'labels' => $labels, 'supports' => array( 'title', 'thumbnail' ), 'hierarchical' => false, 'public' => false, 'show_ui' => true, 'show_in_menu' => function_exists( 'generate_premium_do_elements' ) ? false : true, 'menu_position' => 100, 'menu_icon' => 'dashicons-welcome-widgets-menus', 'show_in_admin_bar' => false, 'show_in_nav_menus' => false, 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => true, 'publicly_queryable' => false, 'capability_type' => 'page', ); register_post_type( 'generate_page_header', $args ); $post_types = get_post_types( array( 'public' => true ) ); $term_args = array( 'sanitize_callback' => 'int', 'type' => 'string', 'description' => '', 'single' => true, 'show_in_rest' => true, ); foreach ( $post_types as $type ) { register_meta( $type, 'generate_page_header', $term_args ); } $taxonomies = get_taxonomies( array( 'public' => true ) ); if ( $taxonomies ) { foreach ( $taxonomies as $taxonomy ) { add_action( $taxonomy . '_add_form_fields', 'generate_page_header_tax_new_ph_field' ); add_action( $taxonomy . '_edit_form_fields', 'generate_page_header_tax_edit_ph_field' ); add_action( 'edit_' . $taxonomy, 'generate_page_header_tax_save_ph' ); add_action( 'create_' . $taxonomy, 'generate_page_header_tax_save_ph' ); } } } add_action( 'admin_menu', 'generate_old_page_header_options_page' ); /** * Add our submenu page to the Appearance tab. * * @since 1.7 */ function generate_old_page_header_options_page() { if ( ! function_exists( 'generate_premium_do_elements' ) ) { return; } add_submenu_page( 'themes.php', esc_html__( 'Page Headers', 'gp-premium' ), esc_html__( 'Page Headers', 'gp-premium' ), 'manage_options', 'edit.php?post_type=generate_page_header' ); } add_action( 'admin_head', 'generate_old_page_header_fix_menu' ); /** * Set our current menu in the admin while in the old Page Header pages. * * @since 1.7 */ function generate_old_page_header_fix_menu() { if ( ! function_exists( 'generate_premium_do_elements' ) ) { return; } global $parent_file, $submenu_file, $post_type; $screen = get_current_screen(); if ( 'generate_page_header' === $post_type || 'appearance_page_page-header-global-locations' === $screen->base ) { $parent_file = 'themes.php'; $submenu_file = 'edit.php?post_type=gp_elements'; } remove_submenu_page( 'themes.php', 'edit.php?post_type=generate_page_header' ); remove_submenu_page( 'themes.php', 'page-header-global-locations' ); } add_action( 'admin_head', 'generate_page_header_add_legacy_locations_button', 999 ); /** * Add legacy buttons to our new GP Elements post type. * * @since 1.7 */ function generate_page_header_add_legacy_locations_button() { if ( ! function_exists( 'generate_premium_do_elements' ) ) { return; } $screen = get_current_screen(); if ( 'generate_page_header' === $screen->post_type ) : ?> post_type && 'edit' === $screen->base ) : ?>