135 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file handles the Font Library CPT.
 | |
|  *
 | |
|  * @since 2.5.0
 | |
|  *
 | |
|  * @package GP Premium
 | |
|  */
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit; // No direct access, please.
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Font library CPT class.
 | |
|  */
 | |
| class GeneratePress_Pro_Font_Library_CPT extends GeneratePress_Pro_Singleton {
 | |
| 	/**
 | |
| 	 * Constructor.
 | |
| 	 */
 | |
| 	public function init() {
 | |
| 		add_action( 'init', array( $this, 'register_cpt' ) );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Set up our custom post type.
 | |
| 	 *
 | |
| 	 * @since 2.5.0
 | |
| 	 */
 | |
| 	public function register_cpt() {
 | |
| 		$labels = array(
 | |
| 			'name'                   => _x( 'Fonts', 'Post Type General Name', 'gp-premium' ),
 | |
| 			'singular_name'          => _x( 'Font', 'Post Type Singular Name', 'gp-premium' ),
 | |
| 			'menu_name'              => __( 'Fonts', 'gp-premium' ),
 | |
| 			'all_items'              => __( 'All Fonts', 'gp-premium' ),
 | |
| 			'add_new'                => __( 'Add New Font', 'gp-premium' ),
 | |
| 			'add_new_item'           => __( 'Add New Font', 'gp-premium' ),
 | |
| 			'new_item'               => __( 'New Font', 'gp-premium' ),
 | |
| 			'edit_item'              => __( 'Edit Font', 'gp-premium' ),
 | |
| 			'update_item'            => __( 'Update Font', 'gp-premium' ),
 | |
| 			'search_items'           => __( 'Search Font', 'gp-premium' ),
 | |
| 			'item_published'         => __( 'Font published.', 'gp-premium' ),
 | |
| 			'item_updated'           => __( 'Font updated.', 'gp-premium' ),
 | |
| 			'item_scheduled'         => __( 'Font scheduled.', 'gp-premium' ),
 | |
| 			'item_reverted_to_draft' => __( 'Font reverted to draft.', 'gp-premium' ),
 | |
| 		);
 | |
| 
 | |
| 		$args = array(
 | |
| 			'labels'                => $labels,
 | |
| 			'supports'              => array( 'title', 'custom-fields' ),
 | |
| 			'hierarchical'          => false,
 | |
| 			'public'                => false,
 | |
| 			'show_ui'               => false,
 | |
| 			'show_in_menu'          => true,
 | |
| 			'has_archive'           => false,
 | |
| 			'exclude_from_search'   => true,
 | |
| 			'show_in_rest'          => true,
 | |
| 		);
 | |
| 
 | |
| 		register_post_type( GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT, $args );
 | |
| 
 | |
| 		// Font variants.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_variants',
 | |
| 			array(
 | |
| 				'type'         => 'array',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font family alias.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_family_alias',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font display value.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_display',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font source.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_source',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font family fallback.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_fallback',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font family preview.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_preview',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Font family variable.
 | |
| 		register_post_meta(
 | |
| 			GeneratePress_Pro_Font_Library::FONT_LIBRARY_CPT,
 | |
| 			'gp_font_variable',
 | |
| 			array(
 | |
| 				'type'         => 'string',
 | |
| 				'show_in_rest' => false,
 | |
| 			)
 | |
| 		);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| GeneratePress_Pro_Font_Library_CPT::get_instance()->init();
 |