setting_enabled = get_option('siteseo_toggle', []); $siteseo->titles_settings = get_option('siteseo_titles_option_name', []); $siteseo->social_settings = get_option('siteseo_social_option_name', []); $siteseo->advanced_settings = get_option('siteseo_advanced_option_name', []); $siteseo->instant_settings = get_option('siteseo_instant_indexing_option_name', []); $siteseo->sitemap_settings = get_option('siteseo_xml_sitemap_option_name', []); $siteseo->analaytics_settings = get_option('siteseo_google_analytics_option_name', []); siteseo_check_update(); if(!empty($siteseo->setting_enabled['toggle-advanced'])){ add_action('init','\SiteSEO\ImageSeo::init', 11); // Upload happens with AJAX so we need this here } if(wp_doing_ajax()){ \SiteSEO\Ajax::hooks(); return; } if(defined('SITESEO_PRO_VERSION') && version_compare(SITESEO_PRO_VERSION, '1.1.5', '<')){ if(!function_exists('is_plugin_active')){ require_once ABSPATH . 'wp-admin/includes/plugin.php'; } } // Image & Sitemap block add_action('init', '\SiteSEO\Admin::register_sitmap_block'); // TOC add_shortcode('siteseo_toc', '\SiteSEO\TableofContent::render_toc'); add_action('init', '\SiteSEO\TableofContent::enable_toc'); if(!empty($siteseo->setting_enabled['toggle-xml-sitemap']) && !empty($siteseo->sitemap_settings['xml_sitemap_general_enable'])){ add_filter('wp_sitemaps_enabled', '__return_false'); // Disabling default WP Sitemap add_action('init', '\SiteSEO\GenerateSitemap::add_rewrite_rules', 20); add_action('template_redirect', '\SiteSEO\GenerateSitemap::handle_sitemap_requests', 0); } if(!empty($siteseo->sitemap_settings['toggle-xml-sitemap']) && !empty($siteseo->sitemap_settings['xml_sitemap_general_enable'])){ add_shortcode('siteseo_html_sitemap', '\SiteSEO\GenerateSitemap::html_sitemap'); } // Redirect add_action('template_redirect', '\SiteSEO\GoogleAnalytics::handle_custom_redirect'); add_action('init', '\SiteSEO\Advanced::remove_wc_category_base'); if(!empty($siteseo->setting_enabled['toggle-instant-indexing']) && !empty($siteseo->instant_settings['instant_indexing_bing_api_key'])){ add_action('template_redirect', '\SiteSEO\InstantIndexing::bing_txt_file', 0); } \SiteSEO\Admin::permission(); if(!empty($siteseo->setting_enabled['toggle-advanced']) && empty($siteseo->advanced_settings['appearance_universal_metabox_disable'])){ add_action('wp_enqueue_scripts', 'siteseo_universal_assets'); add_action('enqueue_block_editor_assets', 'siteseo_universal_assets'); } if(!is_admin()){ // Code that will be used in the frontend will go here. // Cookies enqueue add_action('wp_enqueue_scripts', '\SiteSEO\Admin::cookies_bar'); // Titles and Metas add_action('wp_head', '\SiteSEO\TitlesMetas::add_nositelinkssearchbox', 1); add_action('wp_head', '\SiteSEO\TitlesMetas::add_canonical_url', 1); add_filter('wp_title', '\SiteSEO\TitlesMetas::modify_site_title', 10, 2); add_filter('pre_get_document_title', '\SiteSEO\TitlesMetas::modify_site_title', 10); add_action('wp_head' , '\SiteSEO\TitlesMetas::add_meta_description', 1); add_filter('wp_robots', '\SiteSEO\TitlesMetas::advanced_metas', 999); add_action('wp_head', '\SiteSEO\TitlesMetas::add_rel_link_pages', 9); add_action('wp_head' ,'\SiteSEO\TitlesMetas::date_time_publish', 3); // Social add_action('wp_head', '\SiteSEO\SocialMetas::add_social_graph', 1); add_action('wp_head','\SiteSEO\SocialMetas::fb_graph', 1); add_action('wp_head','\SiteSEO\SocialMetas::twitter_card', 1); // Sitemaps add_action('init','\SiteSEO\GenerateSitemap::settings'); // Image & Advanced add_action('wp_head','\SiteSEO\Advanced::tags'); add_action('init','\SiteSEO\Advanced::remove_links'); // Analaytics add_action('init','\SiteSEO\GoogleAnalytics::ga_render'); return; } if(is_admin() && current_user_can('siteseo_manage')){ \SiteSEO\Admin::init(); } } function siteseo_check_update(){ global $siteseo; $current_version = get_option('siteseo_version'); $version = (int) str_replace('.', '', $current_version); // No update required if($current_version == SITESEO_VERSION){ return true; } if($version < 115){ // Older version had enable index, and if it was set it actually meant it was enabled. $options = $siteseo->titles_settings['titles_single_titles']; if(!empty($options)){ foreach($options as &$option){ if(!empty($option['enable'])){ unset($option['enable']); $option['disabled'] = true; } } $siteseo->titles_settings['titles_single_titles'] = $options; } update_option('siteseo_titles_option_name', $siteseo->titles_settings); } if($version > 115 && $version < 117){ $options = $siteseo->titles_settings['titles_single_titles']; // In 115 if enabled was true then the options will be enabled, which was an issue // As it means user will have to manually enable every metabox option. if(!empty($options)){ foreach($options as &$option){ if(!empty($option['enable'])){ unset($option['enable']); } elseif(isset($option['enable'])){ $option['disabled'] = true; unset($option['enable']); } } $siteseo->titles_settings['titles_single_titles'] = $options; } update_option('siteseo_titles_option_name', $siteseo->titles_settings); } // Is it first run ? if(empty($current_version)){ \SiteSEO\Install::activate(); return; } update_option('siteseo_version', SITESEO_VERSION); }