本文整理汇总了PHP中WPSEO_Options::get_options方法的典型用法代码示例。如果您正苦于以下问题:PHP WPSEO_Options::get_options方法的具体用法?PHP WPSEO_Options::get_options怎么用?PHP WPSEO_Options::get_options使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WPSEO_Options
的用法示例。
在下文中一共展示了WPSEO_Options::get_options方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: status_transition
/**
* Hooked into transition_post_status. Will initiate search engine pings
* if the post is being published, is a post type that a sitemap is built for
* and is a post that is included in sitemaps.
*
* @param string $new_status New post status.
* @param string $old_status Old post status.
* @param \WP_Post $post Post object.
*/
function status_transition($new_status, $old_status, $post)
{
if ($new_status != 'publish') {
return;
}
wp_cache_delete('lastpostmodified:gmt:' . $post->post_type, 'timeinfo');
// #17455.
$options = WPSEO_Options::get_options(array('wpseo_xml', 'wpseo_titles'));
if (isset($options['post_types-' . $post->post_type . '-not_in_sitemap']) && $options['post_types-' . $post->post_type . '-not_in_sitemap'] === true || $post->post_type === 'nav_menu_item') {
return;
}
if (WP_CACHE) {
wp_schedule_single_event(time() + 300, 'wpseo_hit_sitemap_index');
}
/**
* Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default)
*
* @api boolean $allow_ping The boolean that is set to true by default.
*/
if (apply_filters('wpseo_allow_xml_sitemap_ping', true) === false) {
return;
}
// Allow the pinging to happen slightly after the hit sitemap index so the sitemap is fully regenerated when the ping happens.
$excluded_posts = explode(',', $options['excluded-posts']);
if (!in_array($post->ID, $excluded_posts)) {
if (defined('YOAST_SEO_PING_IMMEDIATELY') && YOAST_SEO_PING_IMMEDIATELY) {
wpseo_ping_search_engines();
} else {
wp_schedule_single_event(time() + 300, 'wpseo_ping_search_engines');
}
}
}
示例2: __construct
/**
* Class constructor
*/
public function __construct()
{
$this->options = WPSEO_Options::get_options(array('wpseo', 'wpseo_social'));
add_action('wpseo_head', array($this, 'json_ld'), 90);
add_action('wpseo_json_ld', array($this, 'website'), 10);
add_action('wpseo_json_ld', array($this, 'organization_or_person'), 20);
}
示例3: __construct
/**
* Setting the class properties
*
* @param stdClass $term The current term.
* @param array $options The options.
*/
public function __construct($term, array $options = null)
{
$this->term = $term;
if ($options !== null) {
$this->options = $options;
} else {
$this->options = WPSEO_Options::get_options(array('wpseo_titles', 'wpseo_internallinks', 'wpseo_social'));
}
}
示例4: __construct
/**
* Create the breadcrumb
*/
private function __construct()
{
$this->options = WPSEO_Options::get_options(array('wpseo_titles', 'wpseo_internallinks', 'wpseo_xml'));
$this->post = isset($GLOBALS['post']) ? $GLOBALS['post'] : null;
$this->show_on_front = get_option('show_on_front');
$this->page_for_posts = get_option('page_for_posts');
$this->filter_element();
$this->filter_separator();
$this->filter_wrapper();
$this->set_crumbs();
$this->prepare_links();
$this->links_to_string();
$this->wrap_breadcrumb();
}
示例5: __construct
/**
* Class constructor
*/
public function __construct()
{
add_action('add_meta_boxes', array($this, 'add_meta_box'));
add_action('admin_enqueue_scripts', array($this, 'enqueue'));
add_action('wp_insert_post', array($this, 'save_postdata'));
add_action('edit_attachment', array($this, 'save_postdata'));
add_action('add_attachment', array($this, 'save_postdata'));
add_action('post_submitbox_start', array($this, 'publish_box'));
add_action('admin_init', array($this, 'setup_page_analysis'));
add_action('admin_init', array($this, 'translate_meta_boxes'));
add_action('admin_footer', array($this, 'template_keyword_tab'));
$this->options = WPSEO_Options::get_options(array('wpseo', 'wpseo_social'));
// Check if on of the social settings is checked in the options, if so, initialize the social_admin object.
if ($this->options['opengraph'] === true || $this->options['twitter'] === true || $this->options['googleplus'] === true) {
$this->social_admin = new WPSEO_Social_Admin($this->options);
}
}
示例6: __construct
/**
* 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();
}
}
}
示例7: status_transition
/**
* Hooked into transition_post_status. Will initiate search engine pings
* if the post is being published, is a post type that a sitemap is built for
* and is a post that is included in sitemaps.
*
* @param string $new_status New post status.
* @param string $old_status Old post status.
* @param \WP_Post $post Post object.
*/
public function status_transition($new_status, $old_status, $post)
{
if ($new_status !== 'publish') {
return;
}
if (defined('WP_IMPORTING')) {
$this->status_transition_bulk($new_status, $old_status, $post);
return;
}
$post_type = get_post_type($post);
wp_cache_delete('lastpostmodified:gmt:' . $post_type, 'timeinfo');
// #17455.
// None of our interest..
if ('nav_menu_item' === $post_type) {
return;
}
$options = WPSEO_Options::get_options(array('wpseo_xml', 'wpseo_titles'));
// If the post type is excluded in options, we can stop.
$option = sprintf('post_types-%s-not_in_sitemap', $post_type);
if (isset($options[$option]) && $options[$option] === true) {
return;
}
if (WP_CACHE) {
wp_schedule_single_event(time() + 300, 'wpseo_hit_sitemap_index');
}
/**
* Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default)
*
* @api boolean $allow_ping The boolean that is set to true by default.
*/
if (apply_filters('wpseo_allow_xml_sitemap_ping', true) === false) {
return;
}
// Allow the pinging to happen slightly after the hit sitemap index so the sitemap is fully regenerated when the ping happens.
$excluded_posts = explode(',', $options['excluded-posts']);
if (!in_array($post->ID, $excluded_posts)) {
if (defined('YOAST_SEO_PING_IMMEDIATELY') && YOAST_SEO_PING_IMMEDIATELY) {
WPSEO_Sitemaps::ping_search_engines();
} else {
wp_schedule_single_event(time() + 300, 'wpseo_ping_search_engines');
}
}
}
示例8: __construct
/**
* 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 (in_array($pagenow, array('post-new.php', 'post.php', 'edit.php'))) {
$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'));
if ('0' === get_option('blog_public')) {
add_action('admin_footer', array($this, 'blog_public_warning'));
}
if ((isset($this->options['theme_has_description']) && $this->options['theme_has_description'] === true || $this->options['theme_description_found'] !== '') && $this->options['ignore_meta_description_warning'] !== true) {
add_action('admin_footer', array($this, 'meta_description_warning'));
}
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'));
WPSEO_Sitemaps_Cache::register_clear_on_option_update('wpseo');
}
示例9: wpseo_admin_bar_menu
/**
* Adds an SEO admin bar menu with several options. If the current user is an admin he can also go straight to several settings menu's from here.
*/
function wpseo_admin_bar_menu()
{
// If the current user can't write posts, this is all of no use, so let's not output an admin menu.
if (!current_user_can('edit_posts')) {
return;
}
$options = WPSEO_Options::get_options(array('wpseo', 'wpseo_ms'));
if ($options['enable_admin_bar_menu'] !== true) {
return;
}
global $wp_admin_bar, $post;
// Determine is user is admin or network admin.
$user_is_admin_or_networkadmin = current_user_can('manage_options');
if (!$user_is_admin_or_networkadmin && is_multisite()) {
$user_is_admin_or_networkadmin = $options['access'] === 'superadmin' && is_super_admin();
}
$focuskw = '';
$score = '';
// By default, the top level menu item has no link.
$seo_url = '';
// By default, make the no-link top level menu item focusable.
$top_level_link_tabindex = '0';
$analysis_seo = new WPSEO_Metabox_Analysis_SEO();
$analysis_readability = new WPSEO_Metabox_Analysis_Readability();
if ((is_singular() || is_admin() && WPSEO_Metabox::is_post_edit($GLOBALS['pagenow'])) && isset($post) && is_object($post) && apply_filters('wpseo_use_page_analysis', true) === true) {
$focuskw = WPSEO_Meta::get_value('focuskw', $post->ID);
if ($analysis_seo->is_enabled()) {
$score = wpseo_adminbar_seo_score();
} elseif ($analysis_readability->is_enabled()) {
$score = wpseo_adminbar_content_score();
}
}
if (is_category() || is_tag() || WPSEO_Taxonomy::is_term_edit($GLOBALS['pagenow']) && !WPSEO_Taxonomy::is_term_overview($GLOBALS['pagenow']) || is_tax()) {
if ($analysis_seo->is_enabled()) {
$score = wpseo_tax_adminbar_seo_score();
} elseif ($analysis_readability->is_enabled()) {
$score = wpseo_tax_adminbar_content_score();
}
}
// Never display notifications for network admin.
$counter = '';
// Set the top level menu item content for admins and network admins.
if ($user_is_admin_or_networkadmin) {
// Link the top level menu item to the Yoast Dashboard page.
$seo_url = get_admin_url(null, 'admin.php?page=' . WPSEO_Admin::PAGE_IDENTIFIER);
// Since admins will get a real link, there's no need for a tabindex attribute.
$top_level_link_tabindex = false;
if ('' === $score) {
// Notification information.
$notification_center = Yoast_Notification_Center::get();
$notification_count = $notification_center->get_notification_count();
$new_notifications = $notification_center->get_new_notifications();
$new_notifications_count = count($new_notifications);
if ($notification_count > 0) {
// Always show Alerts page when clicking on the main link.
/* translators: %s: number of notifications */
$counter_screen_reader_text = sprintf(_n('%s notification', '%s notifications', $notification_count, 'wordpress-seo'), number_format_i18n($notification_count));
$counter = sprintf(' <div class="wp-core-ui wp-ui-notification yoast-issue-counter"><span aria-hidden="true">%d</span><span class="screen-reader-text">%s</span></div>', $notification_count, $counter_screen_reader_text);
}
if ($new_notifications_count) {
$notification = sprintf(_n('You have a new issue concerning your SEO!', 'You have %d new issues concerning your SEO!', $new_notifications_count, 'wordpress-seo'), $new_notifications_count);
$counter .= '<div class="yoast-issue-added">' . $notification . '</div>';
}
}
}
// Yoast Icon.
$icon_svg = WPSEO_Utils::get_icon_svg();
$title = '<div id="yoast-ab-icon" class="ab-item yoast-logo svg" style="background-image: url(\'' . $icon_svg . '\');"><span class="screen-reader-text">' . __('SEO', 'wordpress-seo') . '</span></div>';
$wp_admin_bar->add_menu(array('id' => 'wpseo-menu', 'title' => $title . $score . $counter, 'href' => $seo_url, 'meta' => array('tabindex' => $top_level_link_tabindex)));
if (!empty($notification_count)) {
$wp_admin_bar->add_menu(array('parent' => 'wpseo-menu', 'id' => 'wpseo-notifications', 'title' => __('Notifications', 'wordpress-seo') . $counter, 'href' => $seo_url, 'meta' => array('tabindex' => $top_level_link_tabindex)));
}
$wp_admin_bar->add_menu(array('parent' => 'wpseo-menu', 'id' => 'wpseo-kwresearch', 'title' => __('Keyword Research', 'wordpress-seo'), 'meta' => array('tabindex' => '0')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-kwresearch', 'id' => 'wpseo-adwordsexternal', 'title' => __('AdWords External', 'wordpress-seo'), 'href' => 'http://adwords.google.com/keywordplanner', 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-kwresearch', 'id' => 'wpseo-googleinsights', 'title' => __('Google Trends', 'wordpress-seo'), 'href' => 'https://www.google.com/trends/explore#q=' . urlencode($focuskw), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-kwresearch', 'id' => 'wpseo-wordtracker', 'title' => __('SEO Book', 'wordpress-seo'), 'href' => 'http://tools.seobook.com/keyword-tools/seobook/?keyword=' . urlencode($focuskw), 'meta' => array('target' => '_blank')));
if (!is_admin()) {
$url = WPSEO_Frontend::get_instance()->canonical(false);
if (is_string($url)) {
$wp_admin_bar->add_menu(array('parent' => 'wpseo-menu', 'id' => 'wpseo-analysis', 'title' => __('Analyze this page', 'wordpress-seo'), 'meta' => array('tabindex' => '0')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-inlinks-ose', 'title' => __('Check Inlinks (OSE)', 'wordpress-seo'), 'href' => '//moz.com/researchtools/ose/links?site=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-kwdensity', 'title' => __('Check Keyword Density', 'wordpress-seo'), 'href' => 'http://www.zippy.co.uk/keyworddensity/index.php?url=' . urlencode($url) . '&keyword=' . urlencode($focuskw), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-cache', 'title' => __('Check Google Cache', 'wordpress-seo'), 'href' => '//webcache.googleusercontent.com/search?strip=1&q=cache:' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-header', 'title' => __('Check Headers', 'wordpress-seo'), 'href' => '//quixapp.com/headers/?r=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-structureddata', 'title' => __('Google Structured Data Test', 'wordpress-seo'), 'href' => 'https://search.google.com/structured-data/testing-tool#url=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-facebookdebug', 'title' => __('Facebook Debugger', 'wordpress-seo'), 'href' => '//developers.facebook.com/tools/debug/og/object?q=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-pinterestvalidator', 'title' => __('Pinterest Rich Pins Validator', 'wordpress-seo'), 'href' => 'https://developers.pinterest.com/tools/url-debugger/?link=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-htmlvalidation', 'title' => __('HTML Validator', 'wordpress-seo'), 'href' => '//validator.w3.org/check?uri=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-cssvalidation', 'title' => __('CSS Validator', 'wordpress-seo'), 'href' => '//jigsaw.w3.org/css-validator/validator?uri=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-pagespeed', 'title' => __('Google Page Speed Test', 'wordpress-seo'), 'href' => '//developers.google.com/speed/pagespeed/insights/?url=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-microsoftedge', 'title' => __('Microsoft Edge Site Scan', 'wordpress-seo'), 'href' => 'https://developer.microsoft.com/en-us/microsoft-edge/tools/staticscan/?url=' . urlencode($url), 'meta' => array('target' => '_blank')));
$wp_admin_bar->add_menu(array('parent' => 'wpseo-analysis', 'id' => 'wpseo-google-mobile-friendly', 'title' => __('Mobile-Friendly Test', 'wordpress-seo'), 'href' => 'https://www.google.com/webmasters/tools/mobile-friendly/?url=' . urlencode($url), 'meta' => array('target' => '_blank')));
}
}
// @todo: add links to bulk title and bulk description edit pages.
if ($user_is_admin_or_networkadmin) {
$wp_admin_bar->add_menu(array('parent' => 'wpseo-menu', 'id' => 'wpseo-settings', 'title' => __('SEO Settings', 'wordpress-seo'), 'meta' => array('tabindex' => '0')));
//.........这里部分代码省略.........
示例10: get_meta_field_defs
/**
* Retrieve the meta box form field definitions for the given tab and post type.
*
* @static
*
* @param string $tab Tab for which to retrieve the field definitions.
* @param string $post_type Post type of the current post.
*
* @return array Array containing the meta box field definitions
*/
public static function get_meta_field_defs($tab, $post_type = 'post')
{
if (!isset(self::$meta_fields[$tab])) {
return array();
}
$field_defs = self::$meta_fields[$tab];
switch ($tab) {
case 'non-form':
// Prevent non-form fields from being passed to forms.
$field_defs = array();
break;
case 'general':
$options = WPSEO_Options::get_option('wpseo_titles');
if ($options['usemetakeywords'] === true) {
/* Adjust the link in the keywords description text string based on the post type */
$field_defs['metakeywords']['description'] = sprintf($field_defs['metakeywords']['description'], '<a target="_blank" href="' . esc_url(admin_url('admin.php?page=wpseo_titles#top#post_types')) . '">', '</a>');
} else {
/* Don't show the keywords field if keywords aren't enabled */
unset($field_defs['metakeywords']);
}
/**
* Filter the WPSEO metabox form field definitions for the general tab, backward compatibility
*
* @deprecated 1.5.0
* @deprecated use the 'wpseo_metabox_entries_general' filter instead
* @see WPSEO_Meta::get_meta_field_defs()
*
* @param array $field_defs Metabox orm definitions.
*
* @return array
*/
$field_defs = apply_filters('wpseo_metabox_entries', $field_defs);
break;
case 'advanced':
global $post;
$options = WPSEO_Options::get_options(array('wpseo', 'wpseo_titles', 'wpseo_internallinks'));
if (!current_user_can('manage_options') && $options['disableadvanced_meta']) {
return array();
}
$post_type = '';
if (isset($post->post_type)) {
$post_type = $post->post_type;
} elseif (!isset($post->post_type) && isset($_GET['post_type'])) {
$post_type = sanitize_text_field($_GET['post_type']);
}
/* Adjust the no-index 'default for post type' text string based on the post type */
$field_defs['meta-robots-noindex']['options']['0'] = sprintf($field_defs['meta-robots-noindex']['options']['0'], isset($options['noindex-' . $post_type]) && $options['noindex-' . $post_type] === true ? 'noindex' : 'index');
/* Adjust the robots advanced 'site-wide default' text string based on those settings */
if ($options['noodp'] !== false) {
$robots_adv = array();
if ($options['noodp'] === true) {
// Use translation from field def options - mind that $options and $field_def['options'] keys should be the same!
$robots_adv[] = $field_defs['meta-robots-adv']['options']['noodp'];
}
$robots_adv = implode(', ', $robots_adv);
} else {
$robots_adv = __('None', 'wordpress-seo');
}
$field_defs['meta-robots-adv']['options']['-'] = sprintf($field_defs['meta-robots-adv']['options']['-'], $robots_adv);
unset($robots_adv);
/* Don't show the breadcrumb title field if breadcrumbs aren't enabled */
if ($options['breadcrumbs-enable'] !== true && !current_theme_supports('yoast-seo-breadcrumbs')) {
unset($field_defs['bctitle']);
}
global $post;
if (empty($post->ID) || !empty($post->ID) && self::get_value('redirect', $post->ID) === '') {
unset($field_defs['redirect']);
}
break;
}
/**
* Filter the WPSEO metabox form field definitions for a tab
* {tab} can be 'general', 'advanced' or 'social'
*
* @param array $field_defs Metabox form definitions.
* @param string $post_type Post type of the post the metabox is for, defaults to 'post'.
*
* @return array
*/
return apply_filters('wpseo_metabox_entries_' . $tab, $field_defs, $post_type);
}
示例11: wpseo_init
/**
* On plugins_loaded: load the minimum amount of essential files for this plugin
*/
function wpseo_init()
{
require_once WPSEO_PATH . 'inc/wpseo-functions.php';
// Make sure our option and meta value validation routines and default values are always registered and available.
WPSEO_Options::get_instance();
WPSEO_Meta::init();
$options = WPSEO_Options::get_options(array('wpseo', 'wpseo_permalinks', 'wpseo_xml'));
if (version_compare($options['version'], WPSEO_VERSION, '<')) {
new WPSEO_Upgrade();
// Get a cleaned up version of the $options.
$options = WPSEO_Options::get_options(array('wpseo', 'wpseo_permalinks', 'wpseo_xml'));
}
if ($options['stripcategorybase'] === true) {
$GLOBALS['wpseo_rewrite'] = new WPSEO_Rewrite();
}
if ($options['enablexmlsitemap'] === true) {
$GLOBALS['wpseo_sitemaps'] = new WPSEO_Sitemaps();
}
if (!defined('DOING_AJAX') || !DOING_AJAX) {
require_once WPSEO_PATH . 'inc/wpseo-non-ajax-functions.php';
}
// Init it here because the filter must be present on the frontend as well or it won't work in the customizer.
new WPSEO_Customizer();
}
示例12: header
/**
* @package WPSEO\Admin
*/
if (!defined('WPSEO_VERSION')) {
header('Status: 403 Forbidden');
header('HTTP/1.1 403 Forbidden');
exit;
}
add_filter('yoast_option_tab_help_center_metas', 'yoast_option_tab_help_center_metas');
add_filter('yoast_option_tab_help_center_metas_general', 'yoast_option_tab_help_center_metas_general');
add_filter('yoast_option_tab_help_center_metas_home', 'yoast_option_tab_help_center_metas_home');
add_filter('yoast_option_tab_help_center_metas_post-types', 'yoast_option_tab_help_center_metas_post_types');
add_filter('yoast_option_tab_help_center_metas_taxonomies', 'yoast_option_tab_help_center_metas_taxonomies');
add_filter('yoast_option_tab_help_center_metas_archives', 'yoast_option_tab_help_center_metas_archives');
add_filter('yoast_option_tab_help_center_metas_other', 'yoast_option_tab_help_center_metas_other');
$options = WPSEO_Options::get_options(array('wpseo_titles', 'wpseo_permalinks', 'wpseo_internallinks'));
$yform = Yoast_Form::get_instance();
$yform->admin_header(true, 'wpseo_titles');
$tabs = new WPSEO_Option_Tabs('metas');
$tabs->add_tab(new WPSEO_Option_Tab('general', __('General', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas')));
$tabs->add_tab(new WPSEO_Option_Tab('home', __('Homepage', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas-homepage')));
$tabs->add_tab(new WPSEO_Option_Tab('post-types', __('Post Types', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas-post-types')));
$tabs->add_tab(new WPSEO_Option_Tab('taxonomies', __('Taxonomies', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas-taxonomies')));
$tabs->add_tab(new WPSEO_Option_Tab('archives', __('Archives', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas-archives')));
$tabs->add_tab(new WPSEO_Option_Tab('other', __('Other', 'wordpress-seo'), array('video_url' => 'https://yoa.st/screencast-metas-other')));
$tabs->display($yform, $options);
$yform->admin_footer();
/**
* Add help tabs
*
* @param array $tabs Current help center tabs.
示例13: reset
/**
* Resets the entire class so canonicals, titles etc can be regenerated.
*/
public function reset()
{
foreach (get_class_vars(__CLASS__) as $name => $default) {
if ($name == 'instance') {
self::$instance = null;
} else {
$this->{$name} = $default;
}
}
$this->options = WPSEO_Options::get_options($this->required_options);
}
示例14: wpseo_remove_stopwords_sample_permalink
/**
* Removes stopword from the sample permalink that is generated in an AJAX request
*
* @param array $permalink The permalink generated for this post by WordPress.
* @param int $post_ID The ID of the post.
* @param string $title The title for the post that the user used.
* @param string $name The name for the post that the user used.
*
* @return array
*/
function wpseo_remove_stopwords_sample_permalink($permalink, $post_ID, $title, $name)
{
WPSEO_Options::get_instance();
$options = WPSEO_Options::get_options(array('wpseo_permalinks'));
if ($options['cleanslugs'] !== true) {
return $permalink;
}
/*
* If the name is empty and the title is not, WordPress will generate a slug. In that case we want to remove stop
* words from the slug.
*/
if (empty($name) && !empty($title)) {
$stop_words = new WPSEO_Admin_Stop_Words();
// The second element is the slug.
$permalink[1] = $stop_words->remove_in($permalink[1]);
}
return $permalink;
}
示例15: __construct
/**
* Class constructor
*/
function __construct()
{
if (!defined('ENT_XML1')) {
define('ENT_XML1', 16);
}
add_action('after_setup_theme', array($this, 'reduce_query_load'), 99);
add_action('pre_get_posts', array($this, 'redirect'), 1);
add_filter('redirect_canonical', array($this, 'canonical'));
add_action('wpseo_hit_sitemap_index', array($this, 'hit_sitemap_index'));
add_filter('wpseo_sitemap_exclude_author', array($this, 'user_sitemap_remove_excluded_authors'), 8);
// Default stylesheet.
$this->stylesheet = '<?xml-stylesheet type="text/xsl" href="' . preg_replace('/(^http[s]?:)/', '', esc_url(home_url('main-sitemap.xsl'))) . '"?>';
$this->options = WPSEO_Options::get_options(array('wpseo_xml', 'wpseo_titles', 'wpseo_permalinks'));
$this->max_entries = $this->options['entries-per-page'];
$this->home_url = home_url();
$this->charset = get_bloginfo('charset');
$this->timezone = new WPSEO_Sitemap_Timezone();
}