/** * Checks if Yoast SEO is installed for the first time. */ public function __construct() { $is_first_install = $this->is_first_install(); if ($is_first_install && WPSEO_Utils::is_api_available()) { add_action('wpseo_activate', array($this, 'set_first_install_options')); } }
/** * Class constructor */ function __construct() { global $pagenow; $this->options = WPSEO_Options::get_options(array('wpseo', 'wpseo_permalinks')); if (is_multisite()) { WPSEO_Options::maybe_set_multisite_defaults(false); } if ($this->options['stripcategorybase'] === true) { add_action('created_category', array($this, 'schedule_rewrite_flush')); add_action('edited_category', array($this, 'schedule_rewrite_flush')); add_action('delete_category', array($this, 'schedule_rewrite_flush')); } $this->admin_features = array('google_search_console' => new WPSEO_GSC(), 'dashboard_widget' => new Yoast_Dashboard_Widget()); if (WPSEO_Metabox::is_post_overview($pagenow) || WPSEO_Metabox::is_post_edit($pagenow)) { $this->admin_features['primary_category'] = new WPSEO_Primary_Term_Admin(); } if (filter_input(INPUT_GET, 'page') === 'wpseo_tools' && filter_input(INPUT_GET, 'tool') === null) { new WPSEO_Recalculate_Scores(); } // Needs the lower than default priority so other plugins can hook underneath it without issue. add_action('admin_menu', array($this, 'register_settings_page'), 5); add_action('network_admin_menu', array($this, 'register_network_settings_page')); add_filter('plugin_action_links_' . WPSEO_BASENAME, array($this, 'add_action_link'), 10, 2); add_action('admin_enqueue_scripts', array($this, 'config_page_scripts')); add_action('admin_enqueue_scripts', array($this, 'enqueue_global_style')); if ($this->options['cleanslugs'] === true) { add_filter('name_save_pre', array($this, 'remove_stopwords_from_slug'), 0); } add_filter('user_contactmethods', array($this, 'update_contactmethods'), 10, 1); add_action('after_switch_theme', array($this, 'switch_theme')); add_action('switch_theme', array($this, 'switch_theme')); add_filter('set-screen-option', array($this, 'save_bulk_edit_options'), 10, 3); add_action('admin_init', array('WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts'), 10, 1); add_action('admin_init', array($this, 'import_plugin_hooks')); add_filter('wpseo_submenu_pages', array($this, 'filter_settings_pages')); WPSEO_Sitemaps_Cache::register_clear_on_option_update('wpseo'); if (WPSEO_Utils::is_yoast_seo_page()) { add_action('admin_enqueue_scripts', array($this, 'enqueue_assets')); } if (WPSEO_Utils::is_api_available()) { $configuration = new WPSEO_Configuration_Page(); if (filter_input(INPUT_GET, 'page') === self::PAGE_IDENTIFIER) { $configuration->catch_configuration_request(); } } }
<?php /** * @package WPSEO\Admin\Views */ if (!defined('WPSEO_VERSION')) { header('Status: 403 Forbidden'); header('HTTP/1.1 403 Forbidden'); exit; } if (WPSEO_Utils::is_api_available()) { echo '<h2>' . esc_html__('Installation wizard', 'wordpress-seo') . '</h2>'; ?> <p> <?php /* translators: %1$s expands to Yoast SEO */ printf(__('Configure %1$s step-by-step.', 'wordpress-seo'), 'Yoast SEO'); ?> </p> <p> <a class="button" href="<?php echo esc_url(admin_url('admin.php?page=' . WPSEO_Configuration_Page::PAGE_IDENTIFIER)); ?> "><?php _e('Open the installation wizard', 'wordpress-seo'); ?> </a> </p> <br/>
/** * Loads the rest api endpoints. */ function wpseo_init_rest_api() { // We can't do anything when requirements are not met. if (WPSEO_Utils::is_api_available()) { // Boot up REST API endpoints. $configuration_service = new WPSEO_Configuration_Service(); $configuration_service->set_default_providers(); $configuration_service->register_hooks(); } }