$new_version, 'filemtime' => $current_filemtime]); } $old_version = get_option('advset_version', '1.0.0'); if (version_compare($old_version, $new_version, '<')) { require_once __DIR__ . '/updates/init.php'; update_option('advset_version', $new_version); } } add_action('init', 'advset_check_for_version_migrations', 1); if( is_admin() ) { define('ADVSET_URL', 'https://wordpress.org/plugins/advanced-settings/'); # Admin menu add_action('admin_menu', 'advset_menu'); # Add plugin option in Plugins page add_filter( 'plugin_action_links', 'advset_plugin_action_links', 10, 2 ); // Settings tracking require_once __DIR__ . '/class.tracksettings.php'; Advanced_Settings_Track_Settings::get_instance(); // update settings if( isset($_POST['option_page']) && $_POST['option_page']=='advanced-settings' ) { function advset_update() { // security if( !current_user_can('manage_options') ) return; // define option name $setup_name = 'advset_'.$_POST['advset_group']; // prepare option group $_POST[$setup_name] = $_POST; unset( $_POST[$setup_name]['option_page'], $_POST[$setup_name]['action'], $_POST[$setup_name]['_wpnonce'], $_POST[$setup_name]['_wp_http_referer'], $_POST[$setup_name]['submit'] ); if( !empty($_POST[$setup_name]['auto_thumbs']) ) $_POST[$setup_name]['add_thumbs'] = '1'; if( !empty($_POST[$setup_name]['remove_widget_system']) ) $_POST[$setup_name]['remove_default_wp_widgets'] = '1'; // save settings register_setting( 'advanced-settings', $setup_name ); } add_action( 'admin_init', 'advset_update' ); } } // get a advanced-settings option function advset_option( $option_name, $default='' ) { global $advset_options; if( !isset($advset_options) ) $advset_options = get_option('advset_code', array()) + get_option('advset_system', array()) + get_option('advset_scripts', array()) + get_option('advset_styles', array()); if( isset($advset_options[$option_name]) ) return $advset_options[$option_name]; else return $default; } function advset_check_if( $option_name, $echo=true ) { if ( advset_option( $option_name, 0 ) ) { if ($echo) { echo ' checked="checked"'; } else { return ' checked="checked"'; } } } # ADMIN MENU function advset_menu() { $title = '💚 ' . __('Advanced') . ' …'; add_options_page($title, $title, 'manage_options', 'advanced-settings', 'advset_page'); } # ADMIN PAGE TABS function advset_page_header() { $active_tab = isset($_GET['tab']) ? $_GET['tab'] : ''; ?>

💚This plugin is currently being extensively revised.
If you have any questions or wishes, just get in touch.
      ' . __('DEPRECATED') . ' ' . __('This option will be removed in an upcoming version.') . ''; } function advset_page_experimental() { return ' ' . __('EXPERIMENTAL') . ''; } # Add plugin option in Plugins page function advset_plugin_action_links( $links, $file ) { if ( $file == plugin_basename( basename(dirname(__FILE__)).'/index.php' ) ) { $links[] = ''.__('Settings').''; } return $links; } # Disable The “Please Update Now” Message On WordPress Dashboard if ( advset_option('hide_update_message') ) { add_action( 'admin_menu', '__advsettings_hide_update_message', 2 ); function __advsettings_hide_update_message() { remove_action( 'admin_notices', 'update_nag', 3 ); } } # Add a Custom Dashboard Logo # from https://www.codementor.io/wordpress/tutorial/wordpress-functions-php-cheatsheet if ( advset_option('dashboard_logo') ) { add_action('wp_before_admin_bar_render', '__advsettings_dashboard_logo'); function __advsettings_dashboard_logo() { if(is_admin()) echo ' '; } } # Remove Trackbacks and Pingbacks from Comment Count # from https://www.codementor.io/wordpress/tutorial/wordpress-functions-php-cheatsheet if ( advset_option('remove_pingbacks_trackbacks_count') ) { add_filter('get_comments_number', '__advsettings_comment_count', 0); function __advsettings_comment_count( $count ) { if ( ! is_admin_area() ) { global $id; $comments = get_comments('status=approve&post_id=' . $id); $comments_by_type = separate_comments($comments); return count($comments_by_type['comment']); } else { return $count; } } } # Remove admin menu if( advset_option('remove_menu') ) add_filter('show_admin_bar' , '__return_false'); // Remove admin menu # Configure FeedBurner if( advset_option('feedburner') ) { function appthemes_custom_rss_feed( $output, $feed ) { if ( strpos( $output, 'comments' ) ) return $output; if( strpos(advset_option('feedburner'), '/')===FALSE ) return esc_url( 'https://feeds.feedburner.com/'.advset_option('feedburner') ); else return esc_url( advset_option('feedburner') ); } add_action( 'feed_link', 'appthemes_custom_rss_feed', 10, 2 ); } # Favicon if( advset_option('favicon') ) { function __advsettings_favicon() { foreach ([ 'ico' => '', 'png' => 'image/png', 'svg' => 'image/svg+xml', ] as $suffix => $mime) { if ( file_exists(TEMPLATEPATH.'/favicon.' . $suffix) ){ echo ''."\r\n"; break; } } } add_action( 'wp_head', '__advsettings_favicon' ); } # Add blog description meta tag if( advset_option('description') ) { function __advsettings_blog_description() { if(is_home() || !advset_option('single_metas')) echo ''."\r\n"; } add_action( 'wp_head', '__advsettings_blog_description' ); } # Add description and keyword meta tag in posts if( advset_option('single_metas') ) { function __advsettings_single_metas() { global $post; if( is_single() || is_page() ) { $tag_list = get_the_terms( $post->ID, 'post_tag' ); if( $tag_list ) { foreach( $tag_list as $tag ) $tag_array[] = $tag->name; echo ''."\r\n"; } $excerpt = strip_tags($post->post_content); $excerpt = strip_shortcodes($excerpt); $excerpt = str_replace(array('\n', '\r', '\t'), ' ', $excerpt); $excerpt = substr($excerpt, 0, 125); if( !empty($excerpt) ) echo ''."\r\n"; } } add_action( 'wp_head', '__advsettings_single_metas' ); } # Remove header generator if( advset_option('remove_generator') ) remove_action('wp_head', 'wp_generator'); # Remove WLW if( advset_option('remove_wlw') ) remove_action('wp_head', 'wlwmanifest_link'); # Thumbnails support if( advset_option('add_thumbs') ) { function __advsettings_add_thumbs(){ add_theme_support( 'post-thumbnails' ); } add_action('after_setup_theme', '__advsettings_add_thumbs'); if( !current_theme_supports('post-thumbnails') ) define( 'ADVSET_THUMBS', '1' ); } # JPEG Quality if( advset_option('jpeg_quality', 0)>0 && $_SERVER['HTTP_HOST']!='localhost' ) { add_filter('jpeg_quality', '__advsettings_jpeg_quality'); function __advsettings_jpeg_quality(){ return (int) advset_option('jpeg_quality'); } } # REL External if( advset_option('rel_external') ) { function ____replace_targets( $content ) { $content = str_replace('target="_self"', '', $content); return str_replace('target="_blank"', 'rel="external"', $content); } add_filter( 'the_content', '____replace_targets' ); } # Fix post type pagination if( advset_option('post_type_pag') ) { # following are code adapted from Custom Post Type Category Pagination Fix by jdantzer function fix_category_pagination($qs){ if(isset($qs['category_name']) && isset($qs['paged'])){ $qs['post_type'] = get_post_types($args = array( 'public' => true, '_builtin' => false )); array_push($qs['post_type'],'post'); } return $qs; } add_filter('request', 'fix_category_pagination'); } # Disable auto save if( advset_option('disable_auto_save') ) { define('AUTOSAVE_INTERVAL', 60 * 60 * 24 * 365 * 100); // save interval => 100 years } # Remove wptexturize if( advset_option('remove_wptexturize') ) { remove_filter('the_content', 'wptexturize'); remove_filter('comment_text', 'wptexturize'); remove_filter('the_excerpt', 'wptexturize'); } # Filtering the code if( advset_option('compress') || advset_option('remove_comments') ) { add_action('template_redirect','____template'); function ____template() { ob_start('____template2'); } function ____template2($code) { # dont remove conditional IE comments "/', '', $code); /* exemples: * * [html code] ... * old code replaced: $code = preg_replace('//', '', $code); * */ if( advset_option('compress') ) $code = trim( preg_replace( '/\s+(?![^<>]*<\/pre>)/', ' ', $code ) ); return $code; } } # Remove comments system if( advset_option('remove_comments_system') ) { function __av_comments_close( $open, $post_id ) { #$post = get_post( $post_id ); #if ( 'page' == $post->post_type ) #$open = false; return false; } add_filter( 'comments_open', '__av_comments_close', 10, 2 ); function __av_empty_comments_array( $open, $post_id ) { return array(); } add_filter( 'comments_array', '__av_empty_comments_array', 10, 2 ); // Removes from admin menu function __av_remove_admin_menus() { remove_menu_page( 'edit-comments.php' ); } add_action( 'admin_menu', '__av_remove_admin_menus' ); // Removes from admin bar function __av_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu('comments'); } add_action( 'wp_before_admin_bar_render', '__av_admin_bar_render' ); } # Disable author pages if ( advset_option('disable_author_pages') ) { function advset_disable_author_pages__template_redirect() { global $wp_query; if ( is_author() ) { $wp_query->set_404(); status_header(404); } } add_action( 'template_redirect', 'advset_disable_author_pages__template_redirect' ); function advset_disable_author_pages__wp_sitemaps_add_provider( $provider, $name ) { if ( 'users' === $name ) { return false; } return $provider; } add_filter( 'wp_sitemaps_add_provider', 'advset_disable_author_pages__wp_sitemaps_add_provider', 10, 2 ); } # Google Analytics if( advset_option('analytics') ) { add_action('wp_footer', '____analytics'); // Load custom styles function ____analytics(){ $ga_code = advset_option('analytics'); echo "