forked from colin/SimpleTracking
54 lines
1.3 KiB
PHP
54 lines
1.3 KiB
PHP
<?php
|
|
/*
|
|
Plugin Name: Simple RSS Embedder
|
|
Description: A simple plugin to embed RSS feeds via shortcode.
|
|
Version: 1.0
|
|
Author: Your Name
|
|
*/
|
|
|
|
// Function to fetch and display the RSS feed
|
|
function simple_rss_display($atts) {
|
|
$atts = shortcode_atts(
|
|
array(
|
|
'url' => '', // RSS feed URL
|
|
'items' => 5 // Number of items to display
|
|
),
|
|
$atts,
|
|
'simple_rss'
|
|
);
|
|
|
|
if (empty($atts['url'])) {
|
|
return '<p>No RSS feed URL provided.</p>';
|
|
}
|
|
|
|
$rss = fetch_feed($atts['url']);
|
|
|
|
if (is_wp_error($rss)) {
|
|
return '<p>Unable to fetch the RSS feed.</p>';
|
|
}
|
|
|
|
$maxitems = $rss->get_item_quantity($atts['items']);
|
|
$rss_items = $rss->get_items(0, $maxitems);
|
|
|
|
if ($maxitems == 0) {
|
|
return '<p>No items found in the RSS feed.</p>';
|
|
}
|
|
|
|
$output = '<ul>';
|
|
foreach ($rss_items as $item) {
|
|
$output .= '<li>';
|
|
$output .= '<a href="' . esc_url($item->get_permalink()) . '">' . esc_html($item->get_title()) . '</a>';
|
|
$output .= '<p>' . esc_html($item->get_date('j F Y | g:i a')) . '</p>';
|
|
$output .= '</li>';
|
|
}
|
|
$output .= '</ul>';
|
|
|
|
return $output;
|
|
}
|
|
|
|
// Register the shortcode [simple_rss]
|
|
function simple_rss_shortcode() {
|
|
add_shortcode('simple_rss', 'simple_rss_display');
|
|
}
|
|
add_action('init', 'simple_rss_shortcode');
|