82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file adds global scripts.
 | |
|  *
 | |
|  * @since 2.0.0
 | |
|  *
 | |
|  * @package GP Premium
 | |
|  */
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit; // No direct access, please.
 | |
| }
 | |
| 
 | |
| add_action( 'enqueue_block_editor_assets', 'generate_premium_enqueue_editor_scripts' );
 | |
| /**
 | |
|  * Add scripts to the non-Elements block editor.
 | |
|  *
 | |
|  * @since 2.0.0
 | |
|  */
 | |
| function generate_premium_enqueue_editor_scripts() {
 | |
| 	global $pagenow;
 | |
| 
 | |
| 	$deps = array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor' );
 | |
| 
 | |
| 	if ( 'widgets.php' === $pagenow ) {
 | |
| 		unset( $deps[3] );
 | |
| 	}
 | |
| 
 | |
| 	wp_enqueue_script(
 | |
| 		'gp-premium-editor',
 | |
| 		GP_PREMIUM_DIR_URL . 'dist/editor.js',
 | |
| 		$deps,
 | |
| 		filemtime( GP_PREMIUM_DIR_PATH . 'dist/editor.js' ),
 | |
| 		true
 | |
| 	);
 | |
| 
 | |
| 	wp_set_script_translations( 'gp-premium-editor', 'gp-premium', GP_PREMIUM_DIR_PATH . 'langs' );
 | |
| 
 | |
| 	global $generate_elements;
 | |
| 	$active_elements = array();
 | |
| 
 | |
| 	if ( class_exists( 'GeneratePress_Elements_Helper' ) && ! empty( $generate_elements ) ) {
 | |
| 		foreach ( (array) $generate_elements as $key => $data ) {
 | |
| 			$type = esc_html( GeneratePress_Elements_Helper::get_element_type_label( $data['type'] ) );
 | |
| 
 | |
| 			$active_elements[] = array(
 | |
| 				'type' => $type,
 | |
| 				'name' => get_the_title( $data['id'] ),
 | |
| 				'url'  => get_edit_post_link( $data['id'] ),
 | |
| 			);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	$post_type_is_public = false;
 | |
| 
 | |
| 	if ( get_post_type() ) {
 | |
| 		$post_type = get_post_type_object( get_post_type() );
 | |
| 
 | |
| 		if ( is_object( $post_type ) && ! empty( $post_type->public ) ) {
 | |
| 			$post_type_is_public = true;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	wp_localize_script(
 | |
| 		'gp-premium-editor',
 | |
| 		'gpPremiumEditor',
 | |
| 		array(
 | |
| 			'isBlockElement' => 'gp_elements' === get_post_type(),
 | |
| 			'activeElements' => $active_elements,
 | |
| 			'elementsUrl' => esc_url( admin_url( 'edit.php?post_type=gp_elements' ) ),
 | |
| 			'postTypeIsPublic' => $post_type_is_public,
 | |
| 		)
 | |
| 	);
 | |
| 
 | |
| 	wp_enqueue_style(
 | |
| 		'gp-premium-editor',
 | |
| 		GP_PREMIUM_DIR_URL . 'dist/editor.css',
 | |
| 		array( 'wp-edit-blocks' ),
 | |
| 		filemtime( GP_PREMIUM_DIR_PATH . 'dist/editor.css' )
 | |
| 	);
 | |
| }
 |