updated plugin GP Premium version 1.11.2

This commit is contained in:
2020-08-13 14:53:39 +00:00
committed by Gitium
parent 3f0f8d3ac9
commit 885bbdd113
151 changed files with 11329 additions and 6954 deletions

View File

@ -1,25 +1,31 @@
<?php
// No direct access, please
/**
* This file handles the Disable Elements functionality.
*
* @package GP Premium
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
exit; // No direct access, please.
}
define( 'GENERATE_DE_LAYOUT_META_BOX', true );
if ( ! function_exists( 'generate_disable_elements' ) ) {
/**
* Remove the default disable_elements
* Remove the default disable_elements.
*
* @since 0.1
*/
function generate_disable_elements() {
// Don't run the function unless we're on a page it applies to
// Don't run the function unless we're on a page it applies to.
if ( ! is_singular() ) {
return;
}
global $post;
// Prevent PHP notices
// Prevent PHP notices.
if ( isset( $post ) ) {
$disable_header = get_post_meta( $post->ID, '_generate-disable-header', true );
$disable_nav = get_post_meta( $post->ID, '_generate-disable-nav', true );
@ -47,7 +53,13 @@ if ( ! function_exists( 'generate_disable_elements' ) ) {
$return .= '.generate-page-header, .page-header-image, .page-header-image-single {display:none}';
}
if ( ( ! empty( $disable_headline ) && false !== $disable_headline ) && ! is_single() ) {
$need_css_removal = true;
if ( defined( 'GENERATE_VERSION' ) && version_compare( GENERATE_VERSION, '3.0.0-alpha.1', '>=' ) ) {
$need_css_removal = false;
}
if ( $need_css_removal && ! empty( $disable_headline ) && false !== $disable_headline && ! is_single() ) {
$return .= '.entry-header {display:none} .page-content, .entry-content, .entry-summary {margin-top:0}';
}
@ -59,7 +71,7 @@ if ( ! function_exists( 'generate_disable_elements' ) ) {
}
}
if ( ! function_exists('generate_de_scripts') ) {
if ( ! function_exists( 'generate_de_scripts' ) ) {
add_action( 'wp_enqueue_scripts', 'generate_de_scripts', 50 );
/**
* Enqueue scripts and styles
@ -69,7 +81,7 @@ if ( ! function_exists('generate_de_scripts') ) {
}
}
if ( ! function_exists('generate_add_de_meta_box') ) {
if ( ! function_exists( 'generate_add_de_meta_box' ) ) {
add_action( 'add_meta_boxes', 'generate_add_de_meta_box', 50 );
/**
* Generate the layout metabox.
@ -77,10 +89,10 @@ if ( ! function_exists('generate_add_de_meta_box') ) {
* @since 0.1
*/
function generate_add_de_meta_box() {
// Set user role - make filterable
// Set user role - make filterable.
$allowed = apply_filters( 'generate_metabox_capability', 'edit_theme_options' );
// If not an administrator, don't show the metabox
// If not an administrator, don't show the metabox.
if ( ! current_user_can( $allowed ) ) {
return;
}
@ -91,7 +103,7 @@ if ( ! function_exists('generate_add_de_meta_box') ) {
$args = array( 'public' => true );
$post_types = get_post_types( $args );
foreach ($post_types as $type) {
foreach ( $post_types as $type ) {
if ( 'attachment' !== $type ) {
add_meta_box(
'generate_de_meta_box',
@ -106,13 +118,15 @@ if ( ! function_exists('generate_add_de_meta_box') ) {
}
}
if ( ! function_exists('generate_show_de_meta_box') ) {
if ( ! function_exists( 'generate_show_de_meta_box' ) ) {
/**
* Outputs the content of the metabox
* Outputs the content of the metabox.
*
* @param object $post The post object.
*/
function generate_show_de_meta_box( $post ) {
wp_nonce_field( basename( __FILE__ ), 'generate_de_nonce' );
$stored_meta = get_post_meta( $post->ID );
wp_nonce_field( basename( __FILE__ ), 'generate_de_nonce' );
$stored_meta = get_post_meta( $post->ID );
$stored_meta['_generate-disable-header'][0] = ( isset( $stored_meta['_generate-disable-header'][0] ) ) ? $stored_meta['_generate-disable-header'][0] : '';
$stored_meta['_generate-disable-nav'][0] = ( isset( $stored_meta['_generate-disable-nav'][0] ) ) ? $stored_meta['_generate-disable-nav'][0] : '';
$stored_meta['_generate-disable-secondary-nav'][0] = ( isset( $stored_meta['_generate-disable-secondary-nav'][0] ) ) ? $stored_meta['_generate-disable-secondary-nav'][0] : '';
@ -120,59 +134,61 @@ if ( ! function_exists('generate_show_de_meta_box') ) {
$stored_meta['_generate-disable-headline'][0] = ( isset( $stored_meta['_generate-disable-headline'][0] ) ) ? $stored_meta['_generate-disable-headline'][0] : '';
$stored_meta['_generate-disable-footer'][0] = ( isset( $stored_meta['_generate-disable-footer'][0] ) ) ? $stored_meta['_generate-disable-footer'][0] : '';
$stored_meta['_generate-disable-top-bar'][0] = ( isset( $stored_meta['_generate-disable-top-bar'][0] ) ) ? $stored_meta['_generate-disable-top-bar'][0] : '';
?>
?>
<p>
<p>
<div class="generate_disable_elements">
<?php if ( function_exists( 'generate_top_bar' ) ) : ?>
<label for="meta-generate-disable-top-bar" style="display:block;margin-bottom:3px;" title="<?php _e( 'Top Bar', 'gp-premium' );?>">
<label for="meta-generate-disable-top-bar" style="display:block;margin-bottom:3px;" title="<?php _e( 'Top Bar', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-top-bar" id="meta-generate-disable-top-bar" value="true" <?php checked( $stored_meta['_generate-disable-top-bar'][0], 'true' ); ?>>
<?php _e( 'Top Bar', 'gp-premium' );?>
<?php _e( 'Top Bar', 'gp-premium' ); ?>
</label>
<?php endif; ?>
<label for="meta-generate-disable-header" style="display:block;margin-bottom:3px;" title="<?php _e( 'Header', 'gp-premium' );?>">
<label for="meta-generate-disable-header" style="display:block;margin-bottom:3px;" title="<?php _e( 'Header', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-header" id="meta-generate-disable-header" value="true" <?php checked( $stored_meta['_generate-disable-header'][0], 'true' ); ?>>
<?php _e( 'Header', 'gp-premium' );?>
<?php _e( 'Header', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Primary Navigation', 'gp-premium' );?>">
<label for="meta-generate-disable-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Primary Navigation', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-nav" id="meta-generate-disable-nav" value="true" <?php checked( $stored_meta['_generate-disable-nav'][0], 'true' ); ?>>
<?php _e( 'Primary Navigation', 'gp-premium' );?>
<?php _e( 'Primary Navigation', 'gp-premium' ); ?>
</label>
<?php if ( function_exists( 'generate_secondary_nav_setup' ) ) : ?>
<label for="meta-generate-disable-secondary-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Secondary Navigation', 'gp-premium' );?>">
<label for="meta-generate-disable-secondary-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Secondary Navigation', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-secondary-nav" id="meta-generate-disable-secondary-nav" value="true" <?php checked( $stored_meta['_generate-disable-secondary-nav'][0], 'true' ); ?>>
<?php _e( 'Secondary Navigation', 'gp-premium' );?>
<?php _e( 'Secondary Navigation', 'gp-premium' ); ?>
</label>
<?php endif; ?>
<label for="meta-generate-disable-post-image" style="display:block;margin-bottom:3px;" title="<?php _e( 'Featured Image / Page Header', 'gp-premium' );?>">
<label for="meta-generate-disable-post-image" style="display:block;margin-bottom:3px;" title="<?php _e( 'Featured Image / Page Header', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-post-image" id="meta-generate-disable-post-image" value="true" <?php checked( $stored_meta['_generate-disable-post-image'][0], 'true' ); ?>>
<?php _e( 'Featured Image / Page Header', 'gp-premium' );?>
<?php _e( 'Featured Image / Page Header', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-headline" style="display:block;margin-bottom:3px;" title="<?php _e( 'Content Title', 'gp-premium' );?>">
<label for="meta-generate-disable-headline" style="display:block;margin-bottom:3px;" title="<?php _e( 'Content Title', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-headline" id="meta-generate-disable-headline" value="true" <?php checked( $stored_meta['_generate-disable-headline'][0], 'true' ); ?>>
<?php _e( 'Content Title', 'gp-premium' );?>
<?php _e( 'Content Title', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-footer" style="display:block;margin-bottom:3px;" title="<?php _e( 'Footer', 'gp-premium' );?>">
<label for="meta-generate-disable-footer" style="display:block;margin-bottom:3px;" title="<?php _e( 'Footer', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-footer" id="meta-generate-disable-footer" value="true" <?php checked( $stored_meta['_generate-disable-footer'][0], 'true' ); ?>>
<?php _e( 'Footer', 'gp-premium' );?>
<?php _e( 'Footer', 'gp-premium' ); ?>
</label>
</div>
</p>
<?php
<?php
}
}
if ( ! function_exists('generate_save_de_meta') ) {
if ( ! function_exists( 'generate_save_de_meta' ) ) {
add_action( 'save_post', 'generate_save_de_meta' );
/**
* Save our options
* Save our options.
*
* @param int $post_id The post ID.
*/
function generate_save_de_meta( $post_id ) {
@ -180,17 +196,17 @@ if ( ! function_exists('generate_save_de_meta') ) {
return;
}
// Checks save status
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST[ 'generate_de_nonce' ] ) && wp_verify_nonce( $_POST[ 'generate_de_nonce' ], basename( __FILE__ ) ) ) ? true : false;
// Checks save status.
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST['generate_de_nonce'] ) && wp_verify_nonce( $_POST['generate_de_nonce'], basename( __FILE__ ) ) ) ? true : false;
// Exits script depending on save status
if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
return;
}
// Exits script depending on save status.
if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
return;
}
// Check that the logged in user has permission to edit this post
// Check that the logged in user has permission to edit this post.
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
@ -202,7 +218,7 @@ if ( ! function_exists('generate_save_de_meta') ) {
'_generate-disable-secondary-nav',
'_generate-disable-headline',
'_generate-disable-footer',
'_generate-disable-post-image'
'_generate-disable-post-image',
);
foreach ( $options as $key ) {
@ -219,52 +235,62 @@ if ( ! function_exists('generate_save_de_meta') ) {
if ( ! function_exists( 'generate_disable_elements_setup' ) ) {
add_action( 'wp', 'generate_disable_elements_setup', 50 );
/**
* Disable the things.
*/
function generate_disable_elements_setup() {
// Don't run the function unless we're on a page it applies to
// Don't run the function unless we're on a page it applies to.
if ( ! is_singular() ) {
return;
}
// Get the current post
// Get the current post.
global $post;
// Grab our values
// Grab our values.
if ( isset( $post ) ) {
$disable_top_bar = get_post_meta( $post->ID, '_generate-disable-top-bar', true );
$disable_header = get_post_meta( $post->ID, '_generate-disable-header', true );
$disable_mobile_header = get_post_meta( $post->ID, '_generate-disable-mobile-header', true );
$disable_nav = get_post_meta( $post->ID, '_generate-disable-nav', true );
$disable_headline = get_post_meta( $post->ID, '_generate-disable-headline', true );
$disable_footer = get_post_meta( $post->ID, '_generate-disable-footer', true );
}
// Remove the top bar
// Remove the top bar.
if ( ! empty( $disable_top_bar ) && false !== $disable_top_bar && function_exists( 'generate_top_bar' ) ) {
remove_action( 'generate_before_header','generate_top_bar', 5 );
remove_action( 'generate_before_header', 'generate_top_bar', 5 );
remove_action( 'generate_inside_secondary_navigation', 'generate_secondary_nav_top_bar_widget', 5 );
}
// Remove the header
// Remove the header.
if ( ! empty( $disable_header ) && false !== $disable_header && function_exists( 'generate_construct_header' ) ) {
remove_action( 'generate_header','generate_construct_header' );
remove_action( 'generate_header', 'generate_construct_header' );
}
// Remove the navigation
// Remove the mobile header.
if ( ! empty( $disable_mobile_header ) && false !== $disable_mobile_header && function_exists( 'generate_menu_plus_mobile_header' ) ) {
remove_action( 'generate_after_header', 'generate_menu_plus_mobile_header', 5 );
}
// Remove the navigation.
if ( ! empty( $disable_nav ) && false !== $disable_nav && function_exists( 'generate_get_navigation_location' ) ) {
add_filter( 'generate_navigation_location','__return_false', 20 );
add_filter( 'generate_navigation_location', '__return_false', 20 );
}
// Remove the title
// Remove the title.
if ( ! empty( $disable_headline ) && false !== $disable_headline && function_exists( 'generate_show_title' ) ) {
add_filter( 'generate_show_title','__return_false' );
add_filter( 'generate_show_title', '__return_false' );
}
// Remove the footer
// Remove the footer.
if ( ! empty( $disable_footer ) && false !== $disable_footer ) {
if ( function_exists( 'generate_construct_footer_widgets' ) ) {
remove_action( 'generate_footer','generate_construct_footer_widgets', 5 );
remove_action( 'generate_footer', 'generate_construct_footer_widgets', 5 );
}
if ( function_exists( 'generate_construct_footer' ) ) {
remove_action( 'generate_footer','generate_construct_footer' );
remove_action( 'generate_footer', 'generate_construct_footer' );
}
}
}
@ -275,9 +301,11 @@ add_action( 'generate_layout_disable_elements_section', 'generate_premium_disabl
* Add the meta box options to the Layout meta box in the new GP
*
* @since 1.4
* @param array $stored_meta Existing meta data.
*/
function generate_premium_disable_elements_options( $stored_meta ) {
$stored_meta['_generate-disable-header'][0] = ( isset( $stored_meta['_generate-disable-header'][0] ) ) ? $stored_meta['_generate-disable-header'][0] : '';
$stored_meta['_generate-disable-mobile-header'][0] = ( isset( $stored_meta['_generate-disable-mobile-header'][0] ) ) ? $stored_meta['_generate-disable-mobile-header'][0] : '';
$stored_meta['_generate-disable-nav'][0] = ( isset( $stored_meta['_generate-disable-nav'][0] ) ) ? $stored_meta['_generate-disable-nav'][0] : '';
$stored_meta['_generate-disable-secondary-nav'][0] = ( isset( $stored_meta['_generate-disable-secondary-nav'][0] ) ) ? $stored_meta['_generate-disable-secondary-nav'][0] : '';
$stored_meta['_generate-disable-post-image'][0] = ( isset( $stored_meta['_generate-disable-post-image'][0] ) ) ? $stored_meta['_generate-disable-post-image'][0] : '';
@ -287,42 +315,60 @@ function generate_premium_disable_elements_options( $stored_meta ) {
?>
<div class="generate_disable_elements">
<?php if ( function_exists( 'generate_top_bar' ) ) : ?>
<label for="meta-generate-disable-top-bar" style="display:block;margin-bottom:3px;" title="<?php _e( 'Top Bar', 'gp-premium' );?>">
<label for="meta-generate-disable-top-bar" style="display:block;margin-bottom:3px;" title="<?php _e( 'Top Bar', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-top-bar" id="meta-generate-disable-top-bar" value="true" <?php checked( $stored_meta['_generate-disable-top-bar'][0], 'true' ); ?>>
<?php _e( 'Top Bar', 'gp-premium' );?>
<?php _e( 'Top Bar', 'gp-premium' ); ?>
</label>
<?php endif; ?>
<label for="meta-generate-disable-header" style="display:block;margin-bottom:3px;" title="<?php _e( 'Header', 'gp-premium' );?>">
<label for="meta-generate-disable-header" style="display:block;margin-bottom:3px;" title="<?php _e( 'Header', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-header" id="meta-generate-disable-header" value="true" <?php checked( $stored_meta['_generate-disable-header'][0], 'true' ); ?>>
<?php _e( 'Header', 'gp-premium' );?>
<?php _e( 'Header', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Primary Navigation', 'gp-premium' );?>">
<?php
if ( function_exists( 'generate_menu_plus_get_defaults' ) ) :
$menu_plus_settings = wp_parse_args(
get_option( 'generate_menu_plus_settings', array() ),
generate_menu_plus_get_defaults()
);
if ( 'enable' === $menu_plus_settings['mobile_header'] ) :
?>
<label for="meta-generate-disable-mobile-header" style="display:block;margin-bottom:3px;" title="<?php esc_attr_e( 'Mobile Header', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-mobile-header" id="meta-generate-disable-mobile-header" value="true" <?php checked( $stored_meta['_generate-disable-mobile-header'][0], 'true' ); ?>>
<?php esc_html_e( 'Mobile Header', 'gp-premium' ); ?>
</label>
<?php
endif;
endif;
?>
<label for="meta-generate-disable-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Primary Navigation', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-nav" id="meta-generate-disable-nav" value="true" <?php checked( $stored_meta['_generate-disable-nav'][0], 'true' ); ?>>
<?php _e( 'Primary Navigation', 'gp-premium' );?>
<?php _e( 'Primary Navigation', 'gp-premium' ); ?>
</label>
<?php if ( function_exists( 'generate_secondary_nav_setup' ) ) : ?>
<label for="meta-generate-disable-secondary-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Secondary Navigation', 'gp-premium' );?>">
<label for="meta-generate-disable-secondary-nav" style="display:block;margin-bottom:3px;" title="<?php _e( 'Secondary Navigation', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-secondary-nav" id="meta-generate-disable-secondary-nav" value="true" <?php checked( $stored_meta['_generate-disable-secondary-nav'][0], 'true' ); ?>>
<?php _e( 'Secondary Navigation', 'gp-premium' );?>
<?php _e( 'Secondary Navigation', 'gp-premium' ); ?>
</label>
<?php endif; ?>
<label for="meta-generate-disable-post-image" style="display:block;margin-bottom:3px;" title="<?php _e( 'Featured Image / Page Header', 'gp-premium' );?>">
<label for="meta-generate-disable-post-image" style="display:block;margin-bottom:3px;" title="<?php _e( 'Featured Image / Page Header', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-post-image" id="meta-generate-disable-post-image" value="true" <?php checked( $stored_meta['_generate-disable-post-image'][0], 'true' ); ?>>
<?php _e( 'Featured Image / Page Header', 'gp-premium' );?>
<?php _e( 'Featured Image / Page Header', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-headline" style="display:block;margin-bottom:3px;" title="<?php _e( 'Content Title', 'gp-premium' );?>">
<label for="meta-generate-disable-headline" style="display:block;margin-bottom:3px;" title="<?php _e( 'Content Title', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-headline" id="meta-generate-disable-headline" value="true" <?php checked( $stored_meta['_generate-disable-headline'][0], 'true' ); ?>>
<?php _e( 'Content Title', 'gp-premium' );?>
<?php _e( 'Content Title', 'gp-premium' ); ?>
</label>
<label for="meta-generate-disable-footer" style="display:block;margin-bottom:3px;" title="<?php _e( 'Footer', 'gp-premium' );?>">
<label for="meta-generate-disable-footer" style="display:block;margin-bottom:3px;" title="<?php _e( 'Footer', 'gp-premium' ); ?>">
<input type="checkbox" name="_generate-disable-footer" id="meta-generate-disable-footer" value="true" <?php checked( $stored_meta['_generate-disable-footer'][0], 'true' ); ?>>
<?php _e( 'Footer', 'gp-premium' );?>
<?php _e( 'Footer', 'gp-premium' ); ?>
</label>
</div>
<?php
@ -333,16 +379,18 @@ add_action( 'generate_layout_meta_box_save', 'generate_premium_save_disable_elem
* Save the Disable Elements meta box values
*
* @since 1.4
* @param int $post_id The post ID.
*/
function generate_premium_save_disable_elements_meta( $post_id ) {
$options = array(
'_generate-disable-top-bar',
'_generate-disable-header',
'_generate-disable-mobile-header',
'_generate-disable-nav',
'_generate-disable-secondary-nav',
'_generate-disable-headline',
'_generate-disable-footer',
'_generate-disable-post-image'
'_generate-disable-post-image',
);
foreach ( $options as $key ) {

View File

@ -1,19 +1,20 @@
<?php
/*
Addon Name: Generate Disable Elements
Author: Thomas Usborne
Author URI: http://edge22.com
*/
/**
* The Disable Elements module.
*
* @since 1.0.0
*
* @package GP Premium
*/
// No direct access, please
if ( ! defined( 'ABSPATH' ) ) {
exit;
exit; // No direct access, please.
}
// Define the version
// Define the version.
if ( ! defined( 'GENERATE_DE_VERSION' ) ) {
define( 'GENERATE_DE_VERSION', GP_PREMIUM_VERSION );
}
// Include functions identical between standalone addon and GP Premium
// Include functions identical between standalone addon and GP Premium.
require plugin_dir_path( __FILE__ ) . 'functions/functions.php';