HEX
Server: LiteSpeed
System: Linux atali.colombiahosting.com.co 5.14.0-570.12.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 13 06:11:55 EDT 2025 x86_64
User: coopserp (1713)
PHP: 8.2.29
Disabled: dl,exec,passthru,proc_open,proc_close,shell_exec,memory_limit,system,popen,curl_multi_exec,show_source,symlink,link,leak,listen,diskfreespace,tmpfile,ignore_user_abord,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setid,posix_times,posix_ttyname,posix_uname,proc_get_status,proc_nice,proc_terminate
Upload Files
File: /home/coopserp/www/wp-content/plugins/siteseo-pro/main/googlenews.php
<?php
/*
* SITESEO
* https://siteseo.io
* (c) SITSEO Team
*/

namespace SiteSEOPro;

if(!defined('ABSPATH')){
	die('Hacking Attempt !');
}

class GoogleNews{

	static function google_news_sitemap(){
		global $siteseo;
		$settings = $siteseo->pro;
		
		if(empty($settings['toggle_state_google_news']) || empty($settings['google_news'])){
			return;
		}
		
		$publication_name = isset($siteseo->pro['publication_name']) ? $siteseo->pro['publication_name'] : get_bloginfo('name');
		$selected_post_types = isset($siteseo->pro['post_types']) ? $siteseo->pro['post_types'] : [];
		
		header('Content-Type: application/xml; charset=utf-8');
		
		if(get_option('permalink_structure')){
			$xsl_url = home_url('/sitemaps.xsl');
		} else{
			$xsl_url = home_url('/?sitemaps-stylesheet=sitemap');
		}
	
	echo'<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="' . esc_url($xsl_url) . '" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">';
	
		if(!empty($selected_post_types)){
			//date
			$date = new \DateTime();
			$last_48_hours = $date->modify('-48 hours')->format('Y-m-d\TH:i:sP');
			$args = [
				'post_type' => $selected_post_types,
				'post_status' => 'publish',
				'posts_per_page' => 1000,
				'orderby' => 'modified',
				'order' => 'DESC',
				'date_query' => [
					'after' => $last_48_hours,
				],
				'meta_query' => [
					[
						'key' => '_siteseo_robots_index',
						'compare' => 'NOT EXISTS'
					]
				]
			];
		
			$posts = get_posts($args);
		
			foreach($posts as $post){
				$post_date = get_the_date('Y-m-d\TH:i:sP', $post->ID);
				$title = get_the_title($post->ID);
			
				echo "\t".'<url>
				<loc>'.esc_url(urldecode(get_permalink($post->ID))).'</loc>
				<news:news>
					<news:publication>
						<news:name>'.esc_html($publication_name).'</news:name>
						<news:language>' . esc_html(substr(get_locale(), 0, 2)) . '</news:language>
					</news:publication>
					<news:publication_date>'.esc_html($post_date).'</news:publication_date>
					<news:title>'.esc_html($title).'</news:title>';
				
				echo'</news:news>
			</url>';
			}
		}
		echo'</urlset>';
		exit;

	}
}