Your server needs to send an Access-Control-Allow-Origin header with its response. Here's how to add it depending on your server type.
.htaccess file in your site's root directory:<FilesMatch "\.xml$"> Header set Access-Control-Allow-Origin "*" </FilesMatch>
server {} block in your Nginx config:location ~* \.xml$ {
add_header Access-Control-Allow-Origin *;
}
sudo nginx -s reload.functions.php file, create one in your theme directory and add the following. If it already exists, add it at the end:<?php
add_action('send_headers', function () {
if (
strpos($_SERVER['REQUEST_URI'], '.xml') !== false ||
strpos($_SERVER['REQUEST_URI'], '/feed') !== false
) {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, OPTIONS');
header('Access-Control-Allow-Headers: *');
}
});
add_action('init', function () {
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, OPTIONS');
header('Access-Control-Allow-Headers: *');
exit(0);
}
});
.xml or /feed, handles preflight OPTIONS requests, and works even if your theme has no existing functions.php.Choose how to load your RSS feed.
This will clear all fields across every tab, remove all loaded feed data, and reset the form to its default state. This cannot be undone.
Any changes made to this episode will be discarded and the form will be cleared.
No new episode data has been entered. The feed will be generated with any saved edits but without a new episode. Do you want to proceed?