Files
szkoleniauryzaj.pl/wp-content/plugins/wordpress-seo/admin/views/class-view-utils.php
2024-11-10 21:08:49 +01:00

160 lines
5.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* WPSEO plugin file.
*
* @package WPSEO\Admin\Views
*/
use Yoast\WP\SEO\Presenters\Admin\Alert_Presenter;
/**
* Class Yoast_View_Utils.
*/
class Yoast_View_Utils {
/**
* Form to use.
*
* @var Yoast_Form
*/
protected $form;
/**
* Yoast_View_Utils constructor.
*/
public function __construct() {
$this->form = Yoast_Form::get_instance();
}
/**
* Shows the search results help question mark and help section.
*
* Used for all the Help sections for indexable objects like post types, taxonomies, or archives.
*
* @param string|object $post_type The post type to show the search results help for.
* @param string $help_text_switch Switch the help text to one that's more appropriate
* for the indexable object type the help section is for.
*
* @return object The help panel instance.
*/
public function search_results_setting_help( $post_type, $help_text_switch = '' ) {
if ( ! is_object( $post_type ) ) {
$post_type = get_post_type_object( $post_type );
}
/* translators: 1: expands to an indexable object's name, like a post type or taxonomy; 2: expands to <code>noindex</code>; 3: link open tag; 4: link close tag. */
$help_text = esc_html__( 'Not showing %1$s in the search results technically means those will have a %2$s robots meta and will be excluded from XML sitemaps. %3$sMore info on the search results settings%4$s.', 'wordpress-seo' );
if ( $help_text_switch === 'archive' ) {
/* translators: 1: expands to an indexable object's name, like a post type or taxonomy; 2: expands to <code>noindex</code>; 3: link open tag; 4: link close tag. */
$help_text = esc_html__( 'Not showing the archive for %1$s in the search results technically means those will have a %2$s robots meta and will be excluded from XML sitemaps. %3$sMore info on the search results settings%4$s.', 'wordpress-seo' );
}
$help_panel = new WPSEO_Admin_Help_Panel(
// Sometimes the same post type is used more than once in the same page, we need a unique ID though.
uniqid( 'noindex-' . $post_type->name ),
esc_html__( 'Help on this search results setting', 'wordpress-seo' ),
sprintf(
$help_text,
$post_type->labels->name,
'<code>noindex</code>',
'<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/show-x' ) ) . '" target="_blank" rel="noopener noreferrer">',
'</a>'
)
);
return $help_panel;
}
/**
* Generates the OpenGraph disabled alert, depending on whether the OpenGraph feature is disabled.
*
* @param string $type The type of message. Can be altered to homepage, taxonomies or archives. Empty string by default.
*
* @return string The alert. Returns an empty string if the setting is enabled.
*/
public function generate_opengraph_disabled_alert( $type = '' ) {
$is_enabled = WPSEO_Options::get( 'opengraph', true );
if ( $is_enabled ) {
return '';
}
$message = $this->generate_opengraph_disabled_alert_text( $type );
if ( empty( $message ) ) {
return '';
}
$alert = new Alert_Presenter( $message, 'info' );
return sprintf(
'<div class="yoast-measure padded">%s</div>',
$alert->present()
);
}
/**
* Generates the OpenGraph disabled alert text.
*
* @param string $type The type of message. Can be altered to homepage, taxonomies or archives. Empty string by default.
*
* @return string The alert. Returns an empty string if the setting is enabled.
*/
private function generate_opengraph_disabled_alert_text( $type ) {
if ( $type === 'homepage' ) {
return sprintf(
/* translators: 1: link open tag; 2: link close tag. */
esc_html__(
'The social appearance settings for your homepage require Open Graph metadata (which is currently disabled). You can enable this in the %1$sSocial settings under the Facebook tab%2$s.',
'wordpress-seo'
),
'<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_social#top#facebook' ) ) . '">',
'</a>'
);
}
if ( ! YoastSEO()->helpers->product->is_premium() ) {
return '';
}
if ( $type === '' ) {
return sprintf(
/* translators: 1: link open tag; 2: link close tag. */
esc_html__(
'The social appearance settings for content types require Open Graph metadata (which is currently disabled). You can enable this in the %1$sSocial settings under the Facebook tab%2$s.',
'wordpress-seo'
),
'<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_social#top#facebook' ) ) . '">',
'</a>'
);
}
if ( $type === 'taxonomies' ) {
return sprintf(
/* translators: 1: link open tag; 2: link close tag. */
esc_html__(
'The social appearance settings for taxonomies require Open Graph metadata (which is currently disabled). You can enable this in the %1$sSocial settings under the Facebook tab%2$s.',
'wordpress-seo'
),
'<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_social#top#facebook' ) ) . '">',
'</a>'
);
}
if ( $type === 'archives' ) {
return sprintf(
/* translators: 1: link open tag; 2: link close tag. */
esc_html__(
'The social appearance settings for archives require Open Graph metadata (which is currently disabled). You can enable this in the %1$sSocial settings under the Facebook tab%2$s.',
'wordpress-seo'
),
'<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_social#top#facebook' ) ) . '">',
'</a>'
);
}
return '';
}
}