is_audiotheme_active() && file_exists( $audiotheme_functions ) ) { include( $audiotheme_functions ); } elseif ( is_admin() && current_user_can( 'activate_plugins' ) ) { add_action( 'admin_notices', array( $this, 'display_notice' ) ); add_action( 'init', array( $this, 'init' ) ); add_action( 'wp_ajax_' . $this->dismiss_notice_action(), array( $this, 'ajax_dismiss_notice' ) ); } } /** * Dismiss the Framework required notice. * * This is a fallback in case the AJAX method doesn't work. * * @since 1.0.0 */ public function init() { $slug = $this->theme(); if ( isset( $_GET[ $slug ] ) && 'dismiss-notice' == $_GET[ $slug ] && wp_verify_nonce( $_GET['_wpnonce'], $this->dismiss_notice_action() ) ) { $this->dismiss_notice(); $redirect = remove_query_arg( array( $this->theme(), '_wpnonce' ) ); wp_safe_redirect( esc_url_raw( $redirect ) ); } } /** * Display a notice if the AudioTheme framework isn't active. * * @since 1.0.0 */ public function display_notice() { include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $user_id = get_current_user_id(); // Return early if user already dismissed the notice. if ( 'dismissed' == get_user_meta( $user_id, $this->notice_key(), true ) ) { return; } ?>
%s', esc_url( $activate_url ), __( 'Activate now', 'audiotheme-fourteen' ) ); } else { printf( ' %s', __( 'Download Free Trial', 'audiotheme-fourteen' ) ); } $dismiss_url = wp_nonce_url( add_query_arg( get_template(), 'dismiss-notice' ), $this->dismiss_notice_action() ); printf( ' %s', esc_url( $dismiss_url ), __( 'Dismiss', 'audiotheme-fourteen' ) ); ?>