laipower/wp-content/plugins/gp-premium/general/enqueue-scripts.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' )
);
}