Файловый менеджер - Редактировать - /home2/cocinasdalloway/constructorasmn.com/wp-content/plugins/siteseo/templates/sitemap/single.php
Назад
<?php /* * SiteSEO * https://siteseo.io/ * (c) SiteSEO Team <support@siteseo.io> */ /* Copyright 2016 - 2024 - Benjamin Denis (email : contact@seopress.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ defined('ABSPATH') or exit('Cheatin’ uh?'); if ('' !== get_query_var('siteseo_cpt')) { $path = get_query_var('siteseo_cpt'); } $offset = !empty($_SERVER['REQUEST_URI']) ? basename(parse_url(sanitize_text_field(wp_unslash($_SERVER['REQUEST_URI'])), PHP_URL_PATH), '.xml') : ''; $offset = preg_match_all('/\d+/', $offset, $matches); $offset = end($matches[0]); //Max posts per paginated sitemap $max = 1000; $max = apply_filters('siteseo_sitemaps_max_posts_per_sitemap', $max); if (isset($offset) && absint($offset) && '' != $offset && 0 != $offset) { $offset = (($offset - 1) * $max); } else { $offset = 0; } $home_url = home_url() . '/'; if (function_exists('pll_home_url')) { $home_url = site_url() . '/'; } $home_url = apply_filters('siteseo_sitemaps_home_url', $home_url); echo '<?xml version="1.0" encoding="UTF-8"?>'; printf('<?xml-stylesheet type="text/xsl" href="%s"?>', esc_xml($home_url) . 'sitemaps_xsl.xsl'); $urlset = '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">'; echo apply_filters('siteseo_sitemaps_urlset', $urlset); //phpcs:ignore //Archive link if (true == get_post_type_archive_link($path) && 0 == $offset) { if ( ! function_exists('siteseo_get_service')) { return; } if ('1' != siteseo_get_service('TitleOption')->getTitlesCptNoIndexByPath($path)) { $sitemap_url = ''; $archive_links = []; // WPML Workaround if (class_exists('SitePress')) { $original_language = apply_filters( 'wpml_current_language', NULL ); $language_list = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' ); if (!empty($language_list)) { foreach ($language_list as $key => $language_infos ) { if ($original_language != $language_infos['language_code']) { // Switch Language do_action( 'wpml_switch_language', $language_infos['language_code']); $archive_links[] = htmlspecialchars(urldecode(user_trailingslashit(get_post_type_archive_link($path)))); // Restore language to the original do_action( 'wpml_switch_language', $original_language); } } } } // array with all the information needed for a sitemap url $archive_links[] = htmlspecialchars(urldecode(user_trailingslashit(get_post_type_archive_link($path)))); $archive_links = array_unique($archive_links); foreach($archive_links as $loc) { $siteseo_url = [ 'loc' => $loc, 'mod' => '', 'images' => [], ]; $sitemap_url = sprintf("<url>\n<loc>%s</loc>\n</url>", $loc); $sitemap_url = apply_filters('siteseo_sitemaps_no_archive_link', $sitemap_url, $path); echo apply_filters('siteseo_sitemaps_url', $sitemap_url, $siteseo_url); //phpcs:ignore } } } remove_all_filters('pre_get_posts'); $args = [ 'posts_per_page' => 1000, 'offset' => $offset, 'order' => 'DESC', 'orderby' => 'modified', 'post_type' => $path, 'post_status' => 'publish', 'lang' => '', 'has_password' => false, ]; if ('attachment' === $path) { unset($args['post_status']); } if (is_plugin_active('woocommerce/woocommerce.php') && $path == 'product' ) { $args['tax_query'][] = [ 'taxonomy' => 'product_visibility', 'field' => 'slug', 'terms' => ['exclude-from-catalog'], 'operator' => 'NOT IN', ]; } // Polylang: remove hidden languages if (function_exists('get_languages_list') && is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) { $languages = PLL()->model->get_languages_list(); if ( wp_list_filter( $languages, array( 'active' => false ) ) ) { $args['lang'] = wp_list_pluck( wp_list_filter( $languages, array( 'active' => false ), 'NOT' ), 'slug' ); } } $args = apply_filters('siteseo_sitemaps_single_query', $args, $path); $postslist = get_posts($args); //primary category function siteseo_sitemaps_primary_cat_hook($cats_0, $cats, $post) { $primary_cat = null; if ($post) { $_siteseo_robots_primary_cat = get_post_meta($post->ID, '_siteseo_robots_primary_cat', true); if (isset($_siteseo_robots_primary_cat) && '' != $_siteseo_robots_primary_cat && 'none' != $_siteseo_robots_primary_cat) { if (null != $post->post_type && 'product' == $post->post_type) { $primary_cat = get_term($_siteseo_robots_primary_cat, 'product_cat'); } elseif (null != $post->post_type && 'post' == $post->post_type) { $primary_cat = get_category($_siteseo_robots_primary_cat); } if (! is_wp_error($primary_cat) && null != $primary_cat) { return $primary_cat; } } else { //no primary cat return $cats_0; } } else { return $cats_0; } } foreach ($postslist as $post) { setup_postdata($post); $dom = ''; $images = ''; $modified_date = ''; if (get_the_modified_date('c', $post)) { $modified_date = get_the_modified_date('c', $post); } else { $modified_date = get_post_modified_time('c', false, $post); } $post_date = get_the_date('c', $post); $siteseo_mod = $modified_date; if(!empty($modified_date)){ if((new DateTime($post_date)) > (new DateTime($modified_date))){ $siteseo_mod = $post_date; } } // primary category if ( $path == 'post' ) { add_filter('post_link_category', 'siteseo_sitemaps_primary_cat_hook', 10, 3); } if ( $path == 'product' ) { add_filter('wc_product_post_type_link_product_cat', 'siteseo_sitemaps_primary_cat_hook', 10, 3); } // initialize the sitemap url output $sitemapData = ''; // array with all the information needed for a sitemap url $siteseo_url = [ 'loc' => htmlspecialchars(urldecode(get_permalink($post))), 'mod' => $siteseo_mod, 'images' => [], ]; $siteseo_url = apply_filters( 'siteseo_sitemaps_single_url', $siteseo_url, $post ); if (!empty($siteseo_url['loc'])) { $sitemapData .= sprintf("\n<url>\n<loc>%s</loc>\n<lastmod>%s</lastmod>", $siteseo_url['loc'], $siteseo_url['mod']); //XML Image Sitemaps if ('1' == siteseo_get_service('SitemapOption')->imageIsEnable()) { //noimageindex? if ('yes' != get_post_meta($post, '_siteseo_robots_imageindex', true)) { //Standard images $post_content = ''; $dom = new domDocument(); $internalErrors = libxml_use_internal_errors(true); $run_shortcodes = apply_filters('siteseo_sitemaps_single_shortcodes', true); if (true === $run_shortcodes) { //WP if ('' != get_post_field('post_content', $post)) { $post_content .= do_shortcode(get_post_field('post_content', $post)); } //Oxygen Builder if (is_plugin_active('oxygen/functions.php')) { $post_content .= do_shortcode(get_post_meta($post, 'ct_builder_shortcodes', true)); } } else { $post_content = get_post_field('post_content', $post); } if ('' != $post_content) { if (function_exists('mb_convert_encoding')) { $dom->loadHTML(mb_convert_encoding($post_content, 'HTML-ENTITIES', 'UTF-8')); } else { $dom->loadHTML('<?xml encoding="utf-8" ?>' . $post_content); } $dom->preserveWhiteSpace = false; if ('' != $dom->getElementsByTagName('img')) { $images = $dom->getElementsByTagName('img'); } } libxml_use_internal_errors($internalErrors); //WooCommerce global $product; if ('' != $product && method_exists($product, 'get_gallery_image_ids')) { $product_img = $product->get_gallery_image_ids(); } //Post Thumbnail $post_thumbnail = get_the_post_thumbnail_url($post, 'full'); $post_thumbnail_id = get_post_thumbnail_id($post); if ((isset($images) && ! empty($images) && $images->length >= 1) || (isset($product) && ! empty($product_img)) || '' != $post_thumbnail) { //Standard img if (isset($images) && ! empty($images)) { if ($images->length >= 1) { foreach ($images as $img) { $url = $img->getAttribute('src'); $url = apply_filters('siteseo_sitemaps_single_img_url', $url); if ('' != $url) { //Exclude Base64 img if (false === strpos($url, 'data:image/')) { /* * Initiate $siteseo_url['images] and needed data for the sitemap image template */ if (true === siteseo_is_absolute($url)) { //do nothing } else { $url = $home_url . $url; } //cleaning url $url = htmlspecialchars(urldecode(esc_attr(wp_filter_nohtml_kses($url)))); //remove query strings $parse_url = wp_parse_url($url); if ( ! empty($parse_url['scheme']) && ! empty($parse_url['host']) && ! empty($parse_url['path'])) { $siteseo_image_loc = sprintf('<![CDATA[%s://%s]]>', $parse_url['scheme'], $parse_url['host'] . $parse_url['path']); } else { $siteseo_image_loc = '<![CDATA[' . $url . ']]>'; $siteseo_image_loc = sprintf('<![CDATA[%s]]>', $url); } $siteseo_url['images'][] = [ 'src' => $siteseo_image_loc, ]; /* * Build up the template. */ $sitemapData .= sprintf("\n<image:image>\n<image:loc>%s</image:loc>", $siteseo_image_loc); $sitemapData .= "\n</image:image>"; } } } } } //WooCommerce img if ('' != $product && '' != $product_img) { foreach ($product_img as $product_attachment_id) { $siteseo_image_loc = '<![CDATA[' . esc_attr(wp_filter_nohtml_kses(wp_get_attachment_url($product_attachment_id))) . ']]>'; $siteseo_url['images'][] = [ 'src' => $siteseo_image_loc, ]; /* * Build up the template. */ $sitemapData .= sprintf("\n<image:image>\n<image:loc>%s</image:loc>", $siteseo_image_loc); $sitemapData .= "\n</image:image>"; } } //Post thumbnail if ('' != $post_thumbnail) { $siteseo_image_loc = '<![CDATA[' . $post_thumbnail . ']]>'; $siteseo_url['images'][] = [ 'src' => $siteseo_image_loc, ]; /* * Build up the template. */ $sitemapData .= sprintf("\n<image:image>\n<image:loc>%s</image:loc>", $siteseo_image_loc); $sitemapData .= "\n</image:image>"; } } $sitemapData = apply_filters('siteseo_sitemaps_single_img', $sitemapData, $post); } } $sitemapData .= '</url>'; } echo apply_filters('siteseo_sitemaps_url', $sitemapData, $siteseo_url); //phpcs:ignore } wp_reset_postdata(); ?> </urlset>
| ver. 1.4 |
Github
|
.
| PHP 8.2.22 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка