id ) { $parent_file = 'themes.php'; // phpcs:ignore -- Override necessary. $submenu_file = 'generate-options'; // phpcs:ignore -- Override necessary. } remove_submenu_page( 'themes.php', 'generatepress-library' ); } /** * Add our scripts. */ public function enqueue_scripts() { $screen = get_current_screen(); if ( 'appearance_page_generatepress-library' === $screen->id ) { wp_enqueue_script( 'generatepress-pro-site-library', GP_PREMIUM_DIR_URL . 'dist/site-library.js', array( 'wp-api', 'wp-i18n', 'wp-components', 'wp-element', 'wp-api-fetch', 'wp-util', 'wp-html-entities', 'updates' ), GP_PREMIUM_VERSION, true ); if ( function_exists( 'wp_set_script_translations' ) ) { wp_set_script_translations( 'generatepress-pro-site-library', 'gp-premium', GP_PREMIUM_DIR_PATH . 'langs' ); } if ( function_exists( 'wp_get_upload_dir' ) ) { $uploads_url = wp_get_upload_dir(); } else { $uploads_url = wp_upload_dir( null, false ); } wp_localize_script( 'generatepress-pro-site-library', 'gppSiteLibrary', array( 'homeUrl' => esc_url( home_url() ), 'hasBackup' => ! empty( get_option( '_generatepress_site_library_backup', array() ) ), 'gppVersion' => GP_PREMIUM_VERSION, 'gpVersion' => generate_premium_get_theme_version(), 'generateblocksVersion' => defined( 'GENERATEBLOCKS_VERSION' ) ? GENERATEBLOCKS_VERSION : '', 'elementorReplaceUrls' => esc_url( admin_url( 'admin.php?page=elementor-tools#tab-replace_url' ) ), 'uploadsUrl' => $uploads_url['baseurl'], 'isDebugEnabled' => defined( 'WP_DEBUG' ) && true === WP_DEBUG, ) ); wp_enqueue_style( 'generatepress-pro-site-library', GP_PREMIUM_DIR_URL . 'dist/site-library.css', array( 'wp-components' ), GP_PREMIUM_VERSION ); if ( ! class_exists( 'GeneratePress_Dashboard' ) ) { wp_enqueue_style( 'generate-premium-dashboard', GP_PREMIUM_DIR_URL . 'inc/legacy/assets/dashboard.css', array(), GP_PREMIUM_VERSION ); } } } /** * Add our page. */ public function library_page() { if ( ! class_exists( 'GeneratePress_Dashboard' ) ) : ?>
__( 'Site Library', 'gp-premium' ), 'url' => admin_url( 'themes.php?page=generatepress-library' ), 'class' => 'appearance_page_generatepress-library' === $screen->id ? 'active' : '', 'id' => 'gp-site-library-tab', ); return $tabs; } /** * Tell GeneratePress this is an admin page. * * @param array $screens Existing screens. */ public function add_dashboard_screen( $screens ) { $screens[] = 'appearance_page_generatepress-library'; return $screens; } /** * Add our GeneratePress Site export checkbox to the Export module. */ public function add_export_checkbox() { if ( ! apply_filters( 'generate_show_generatepress_site_export_option', false ) ) { return; } ?>
$key ) { if ( 'activated' === get_option( $key ) ) { $data['modules'][ $name ] = $key; } } // Site options. $data['site_options']['nav_menu_locations'] = get_theme_mod( 'nav_menu_locations' ); $data['site_options']['custom_logo'] = wp_get_attachment_url( get_theme_mod( 'custom_logo' ) ); $data['site_options']['show_on_front'] = get_option( 'show_on_front' ); $data['site_options']['page_on_front'] = get_option( 'page_on_front' ); $data['site_options']['page_for_posts'] = get_option( 'page_for_posts' ); // Elements. $data['site_options']['element_locations'] = $this->get_elements_locations(); $data['site_options']['element_exclusions'] = $this->get_elements_exclusions(); // Custom CSS. if ( function_exists( 'wp_get_custom_css_post' ) ) { $data['custom_css'] = wp_get_custom_css_post()->post_content; } // WooCommerce. if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { $data['site_options']['woocommerce_shop_page_id'] = get_option( 'woocommerce_shop_page_id' ); $data['site_options']['woocommerce_cart_page_id'] = get_option( 'woocommerce_cart_page_id' ); $data['site_options']['woocommerce_checkout_page_id'] = get_option( 'woocommerce_checkout_page_id' ); $data['site_options']['woocommerce_myaccount_page_id'] = get_option( 'woocommerce_myaccount_page_id' ); $data['site_options']['woocommerce_single_image_width'] = get_option( 'woocommerce_single_image_width' ); $data['site_options']['woocommerce_thumbnail_image_width'] = get_option( 'woocommerce_thumbnail_image_width' ); $data['site_options']['woocommerce_thumbnail_cropping'] = get_option( 'woocommerce_thumbnail_cropping' ); $data['site_options']['woocommerce_shop_page_display'] = get_option( 'woocommerce_shop_page_display' ); $data['site_options']['woocommerce_category_archive_display'] = get_option( 'woocommerce_category_archive_display' ); $data['site_options']['woocommerce_default_catalog_orderby'] = get_option( 'woocommerce_default_catalog_orderby' ); } // Elementor. if ( is_plugin_active( 'elementor/elementor.php' ) ) { $data['site_options']['elementor_container_width'] = get_option( 'elementor_container_width' ); $data['site_options']['elementor_cpt_support'] = get_option( 'elementor_cpt_support' ); $data['site_options']['elementor_css_print_method'] = get_option( 'elementor_css_print_method' ); $data['site_options']['elementor_default_generic_fonts'] = get_option( 'elementor_default_generic_fonts' ); $data['site_options']['elementor_disable_color_schemes'] = get_option( 'elementor_disable_color_schemes' ); $data['site_options']['elementor_disable_typography_schemes'] = get_option( 'elementor_disable_typography_schemes' ); $data['site_options']['elementor_editor_break_lines'] = get_option( 'elementor_editor_break_lines' ); $data['site_options']['elementor_exclude_user_roles'] = get_option( 'elementor_exclude_user_roles' ); $data['site_options']['elementor_global_image_lightbox'] = get_option( 'elementor_global_image_lightbox' ); $data['site_options']['elementor_page_title_selector'] = get_option( 'elementor_page_title_selector' ); $data['site_options']['elementor_scheme_color'] = get_option( 'elementor_scheme_color' ); $data['site_options']['elementor_scheme_color-picker'] = get_option( 'elementor_scheme_color-picker' ); $data['site_options']['elementor_scheme_typography'] = get_option( 'elementor_scheme_typography' ); $data['site_options']['elementor_space_between_widgets'] = get_option( 'elementor_space_between_widgets' ); $data['site_options']['elementor_stretched_section_container'] = get_option( 'elementor_stretched_section_container' ); $data['site_options']['elementor_load_fa4_shim'] = get_option( 'elementor_load_fa4_shim' ); $data['site_options']['elementor_active_kit'] = get_option( 'elementor_active_kit' ); } // Beaver Builder. if ( is_plugin_active( 'beaver-builder-lite-version/fl-builder.php' ) || is_plugin_active( 'bb-plugin/fl-builder.php' ) ) { $data['site_options']['_fl_builder_enabled_icons'] = get_option( '_fl_builder_enabled_icons' ); $data['site_options']['_fl_builder_enabled_modules'] = get_option( '_fl_builder_enabled_modules' ); $data['site_options']['_fl_builder_post_types'] = get_option( '_fl_builder_post_types' ); $data['site_options']['_fl_builder_color_presets'] = get_option( '_fl_builder_color_presets' ); $data['site_options']['_fl_builder_services'] = get_option( '_fl_builder_services' ); $data['site_options']['_fl_builder_settings'] = get_option( '_fl_builder_settings' ); $data['site_options']['_fl_builder_user_access'] = get_option( '_fl_builder_user_access' ); $data['site_options']['_fl_builder_enabled_templates'] = get_option( '_fl_builder_enabled_templates' ); } // Menu Icons. if ( is_plugin_active( 'menu-icons/menu-icons.php' ) ) { $data['site_options']['menu-icons'] = get_option( 'menu-icons' ); } // Ninja Forms. if ( is_plugin_active( 'ninja-forms/ninja-forms.php' ) ) { $data['site_options']['ninja_forms_settings'] = get_option( 'ninja_forms_settings' ); } // Social Warfare. if ( is_plugin_active( 'social-warfare/social-warfare.php' ) ) { $data['site_options']['socialWarfareOptions'] = get_option( 'socialWarfareOptions' ); } // Elements Plus. if ( is_plugin_active( 'elements-plus/elements-plus.php' ) ) { $data['site_options']['elements_plus_settings'] = get_option( 'elements_plus_settings' ); } // Ank Google Map. if ( is_plugin_active( 'ank-google-map/ank-google-map.php' ) ) { $data['site_options']['ank_google_map'] = get_option( 'ank_google_map' ); } // GP Social Share. if ( is_plugin_active( 'gp-social-share-svg/gp-social-share.php' ) ) { $data['site_options']['gp_social_settings'] = get_option( 'gp_social_settings' ); } // Active plugins. $active_plugins = get_option( 'active_plugins' ); $all_plugins = get_plugins(); $ignore = apply_filters( 'generate_sites_ignore_plugins', array( 'gp-premium/gp-premium.php', 'widget-importer-exporter/widget-importer-exporter.php', ) ); foreach ( $ignore as $plugin ) { unset( $all_plugins[ $plugin ] ); } $activated_plugins = array(); foreach ( $active_plugins as $p ) { if ( isset( $all_plugins[ $p ] ) ) { $activated_plugins[ $all_plugins[ $p ]['Name'] ] = $p; } } $data['plugins'] = $activated_plugins; return $data; } /** * Get our Element display locations. * * @return array */ public function get_elements_locations() { $args = array( 'post_type' => 'gp_elements', 'showposts' => -1, ); $posts = get_posts( $args ); $new_values = array(); foreach ( $posts as $post ) { $display_conditions = get_post_meta( $post->ID, '_generate_element_display_conditions', true ); if ( $display_conditions ) { $new_values[ $post->ID ] = $display_conditions; } } return $new_values; } /** * Get our Element display locations. * * @return array */ public function get_elements_exclusions() { $args = array( 'post_type' => 'gp_elements', 'showposts' => -1, ); $posts = get_posts( $args ); $new_values = array(); foreach ( $posts as $post ) { $display_conditions = get_post_meta( $post->ID, '_generate_element_exclude_conditions', true ); if ( $display_conditions ) { $new_values[ $post->ID ] = $display_conditions; } } return $new_values; } } GeneratePress_Site_Library::get_instance();