📁 File Manager Pro
v10.0.3 | PHP: 7.4.33
Server: LiteSpeed
2026-06-26 12:41:05
📂
/ (Root)
/
home
/
supecsoq
/
public_html
/
domains
/
migalexpark.com
/
wp-content
/
plugins
/
wpseo-news
/
classes
📍 /home/supecsoq/public_html/domains/migalexpark.com/wp-content/plugins/wpseo-news/classes
🔄 Refresh
✏️
Editing: admin-page.php
Writable
<?php /** * Yoast SEO: News plugin file. * * @package WPSEO_News\Admin */ /** * Represents the admin page. */ class WPSEO_News_Admin_Page { /** * Constructor. */ public function __construct() { if ( $this->is_news_page( filter_input( INPUT_GET, 'page' ) ) ) { $this->register_i18n_promo_class(); } } /** * Display admin page. */ public function display() { // Admin header. Yoast_Form::get_instance()->admin_header( true, 'wpseo_news' ); // Introduction. echo '<p>' . esc_html__( 'You will generally only need a News Sitemap when your website is included in Google News.', 'wordpress-seo-news' ) . '</p>'; echo '<p>'; printf( /* translators: %1$s opening tag of the link to the News Sitemap, %2$s closing tag for the link. */ esc_html__( '%1$sView your News Sitemap%2$s.', 'wordpress-seo-news' ), '<a target="_blank" href="' . esc_url( WPSEO_News_Sitemap::get_sitemap_name() ) . '">', '</a>' ); echo '</p>'; echo '<h2>' . esc_html__( 'General settings', 'wordpress-seo-news' ) . '</h2>'; echo '<fieldset><legend class="screen-reader-text">' . esc_html__( 'News Sitemap settings', 'wordpress-seo-news' ) . '</legend>'; // Google News Publication Name. Yoast_Form::get_instance()->textinput( 'news_sitemap_name', __( 'Google News Publication Name', 'wordpress-seo-news' ) ); // Default Genre. Yoast_Form::get_instance()->select( 'news_sitemap_default_genre', __( 'Default Genre', 'wordpress-seo-news' ), WPSEO_News::list_genres() ); echo '</fieldset>'; // Post Types to include in News Sitemap. $this->include_post_types(); // Post categories to exclude. $this->excluded_post_type_taxonomies(); // Admin footer. Yoast_Form::get_instance()->admin_footer( true, false ); } /** * Register the promotion class for our GlotPress instance. * * @link https://github.com/Yoast/i18n-module */ protected function register_i18n_promo_class() { new Yoast_I18n_v3( [ 'textdomain' => 'wordpress_seo_news', 'project_slug' => 'news-seo', 'plugin_name' => 'WordPress SEO News', 'hook' => 'wpseo_admin_promo_footer', 'glotpress_url' => 'http://translate.yoast.com/gp/', 'glotpress_name' => 'Yoast Translate', 'glotpress_logo' => 'http://translate.yoast.com/gp-templates/images/Yoast_Translate.svg', 'register_url' => 'http://translate.yoast.com/gp/projects#utm_source=plugin&utm_medium=promo-box&utm_campaign=wpseo-news-i18n-promo', ] ); } /** * Generates the HTML for the post types which should be included in the sitemap. */ private function include_post_types() { // Post Types to include in News Sitemap. echo '<h2>' . esc_html__( 'Post Types to include in News Sitemap', 'wordpress-seo-news' ) . '</h2>'; echo '<fieldset><legend class="screen-reader-text">' . esc_html__( 'Post Types to include:', 'wordpress-seo-news' ) . '</legend>'; $post_types = get_post_types( [ 'public' => true ], 'objects' ); $post_types_list = []; foreach ( $post_types as $post_type ) { $post_types_list[ $post_type->name ] = $post_type->labels->name . ' (' . $post_type->name . ')'; } Yoast_Form::get_instance()->checkbox_list( 'news_sitemap_include_post_types', $post_types_list ); echo '</fieldset><br>'; } /** * Generates the HTML for excluding post categories. * * @return void */ private function excluded_post_type_taxonomies() { $post_types = get_post_types( [ 'public' => true ], 'objects' ); $post_types = array_filter( $post_types, [ $this, 'filter_included_post_type' ] ); array_walk( $post_types, [ $this, 'excluded_post_type_taxonomies_output' ] ); } /** * Filter function used to determine what post times should be included in the new sitemap. * * @param WP_Post_Type $post_type The post type. * * @return bool Whether or not the post type should be included in the sitemap. */ protected function filter_included_post_type( $post_type ) { static $included_post_types; if ( ! $included_post_types ) { $included_post_types = (array) WPSEO_Options::get( 'news_sitemap_include_post_types', [] ); } return array_key_exists( $post_type->name, $included_post_types ); } /** * Creates an array of objects containing taxonomies and the list of terms that are eligible for exclusion in the * sitemap. * * @param WP_Post_Type $post_type Post type for which to exclude taxonomies. * * @return array Returns an array containing terms and taxonomies. Can be empty. */ private function get_excluded_post_type_taxonomies( $post_type ) { $excludable_taxonomies = new WPSEO_News_Excludable_Taxonomies( $post_type->name ); return $excludable_taxonomies->get_terms(); } /** * Echoes the sub heading + checkboxes to exclude terms within each of the post type's taxonomies. * * @param WP_Post_Type $post_type The post type. * * @return void */ private function excluded_post_type_taxonomies_output( $post_type ) { $terms_per_taxonomy = $this->get_excluded_post_type_taxonomies( $post_type ); if ( $terms_per_taxonomy === [] ) { return; } /* translators: %1%s expands to the post type name. */ echo '<h2>' . esc_html( sprintf( __( 'Terms to exclude for %1$s', 'wordpress-seo-news' ), $post_type->labels->name ) ) . '</h2>'; foreach ( $terms_per_taxonomy as $data ) { $taxonomy = $data['taxonomy']; $terms = $data['terms']; /* translators: %1%s expands to the taxonomy name name. */ echo '<h3>' . esc_html( sprintf( __( '%1$s to exclude', 'wordpress-seo-news' ), $taxonomy->labels->name ) ) . '</h3>'; $taxonomies_list = []; foreach ( $terms as $term ) { $taxonomies_list[ $term->taxonomy . '_' . $term->slug . '_for_' . $post_type->name ] = $term->name; } Yoast_Form::get_instance()->checkbox_list( 'news_sitemap_exclude_terms', $taxonomies_list ); } } /** * Checks if the current page is a news seo plugin page. * * @param string $page The page to check. * * @return bool True when currently on a new page. */ protected function is_news_page( $page ) { $news_pages = [ 'wpseo_news' ]; return in_array( $page, $news_pages, true ); } }
💾 Save Changes
❌ Cancel