65 lines
1.9 KiB
PHP
65 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* @package Scripts
|
|
*/
|
|
|
|
// Exit if accessed directly
|
|
if ( !defined( 'ABSPATH' ) ) exit;
|
|
|
|
/**
|
|
* Hook RSS function
|
|
* @return void
|
|
*/
|
|
if (strpos($_SERVER['REQUEST_URI'], '/feed/liveticker/') !== false) {
|
|
$args = array();
|
|
$args['ticker_slug'] = substr($_SERVER['SCRIPT_NAME'], 1);
|
|
wplt_print_feed($args);
|
|
exit;
|
|
}
|
|
|
|
|
|
function wplt_print_feed( $arguments ) {
|
|
|
|
$args = array( 'post_type' => 'wplt_tick',
|
|
'tax_query' => array(
|
|
array( 'taxonomy' => 'wplt_ticker',
|
|
'field' => 'slug',
|
|
'terms' => $arguments['ticker_slug']
|
|
)
|
|
)
|
|
);
|
|
|
|
|
|
global $wpdb;
|
|
|
|
$sql = "SELECT `ID`, DATE_FORMAT(`post_date`,'%a, %d %b %Y %T') AS `post_date_rfc`, `post_content`, `post_title` FROM `".$wpdb->prefix."posts` WHERE `post_type` = 'wplt_tick' AND `post_status` = 'publish' ORDER BY `post_date` DESC;";
|
|
$entries = $wpdb->get_results($sql);
|
|
|
|
date_default_timezone_set("Europe/Berlin");
|
|
|
|
// modify header information
|
|
header("Content-Type: application/rss+xml; charset=UTF-8");
|
|
// generate file head
|
|
$rss = '<?xml version="1.0" encoding="UTF-8"?>';
|
|
$rss .= '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
|
|
$rss .= '<channel><title>Lager Live</title>';
|
|
$rss .= '<link>http://'.$_SERVER['SERVER_NAME'].'/lagerticker</link>';
|
|
$rss .= '<atom:link href="http://'.$_SERVER['SERVER_NAME'].''.$_SERVER['REQUEST_URI'].'" rel="self" type="application/rss+xml" />';
|
|
$rss .= '<description></description>';
|
|
$rss .= '<language>de-de</language>';
|
|
$rss .= '<pubDate>'.date("r").'</pubDate>';
|
|
|
|
// build entries
|
|
foreach ( $entries as $entry ) {
|
|
//print_r($entry);
|
|
$rss .= '<item><title>'.$entry->post_title.'</title>';
|
|
$rss .= '<link>http://www.dpsg-hardenberg.org/lagerticker</link>';
|
|
$rss .= '<pubDate>'.$entry->post_date_rfc.' '.date('O').'</pubDate>';
|
|
$rss .= '<description><![CDATA['.$entry->post_content.']]></description></item>';
|
|
}
|
|
|
|
// generate document foot
|
|
$rss .= '</channel></rss>';
|
|
|
|
print $rss;
|
|
} |