enclosure
-
Здравствуйте помогите решить проблему.
Произвольное поле enclosure отдает в исходящую ленту RSS<enclosure url="http://libymax.ru/wp-content/uploads/2009/12/nuclear.jpg" length="" type="" />А необходимо:
<enclosure url="http://libymax.ru/wp-content/uploads/2009/12/nuclear.jpg" length="" type="image/jpeg"/>Как правильно прописать ‘ type=»image/jpeg ‘ ?
Пробовал указывать меняя в стандартном<?php rss_enclosure(); ?>Менял указывая :
<?php rss_enclosure('image/jpeg'); ?>и так
<?php rss_enclosure(type'image/jpeg'); ?>Ничего не получалось. исходник тот же. Подскажите как правильно указать тип изображения?
p.s. Это для Яндекса.
-
Ну помогите кто нибуууууууууудь…..
<?php /* Plugin Name: Yandex RSS2 Export Feed for WordPress 2.6+ Plugin URI: http://www.code.google.com/p/yandex-feed Description: Export RSS2 for Yandex Author: Trinity Solution LLC (coded by Madness), changed for WordPress 2.6++, 2.7 by Sherif aka sharof2000 (sharof2000@gmail.com) Version: 1.4++ Author URI: http://www.seo-study.ru */ if (empty($wp)) { require_once('wp-config.php'); //wp('feed=rss2'); } function filter_text($content) { $content = preg_replace( "/(\[).*?(\])/", "" , $content); return $content; } function get_posts_my($category, $numberposts, $days) { global $wpdb; $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts p INNER JOIN $wpdb->term_relationships tr ON (p.ID = tr.object_id) INNER JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) INNER JOIN $wpdb->terms t ON (tt.term_id = t.term_id) WHERE tt.taxonomy = 'category' AND p.post_type = 'post' AND p.post_status = 'publish' AND t.term_id IN (".$category.") AND TO_DAYS(NOW()) - TO_DAYS(post_date) <= ".intval($days)." GROUP BY p.ID ORDER BY p.post_date DESC LIMIT ".intval($numberposts)); return $posts; } $options = get_option('rss_yandex_options'); $posts = get_posts_my(@implode(',', $options['list_categories']), $options['num_posts'], $options['days']); @header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true); $more = 1; echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?> '; ?><!-- generator="wordpress/<?php bloginfo_rss('version') ?>" --> <rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru"> <channel> <title><?php echo htmlspecialchars(get_bloginfo_rss('name'),ENT_QUOTES); ?></title> <link><?php echo htmlspecialchars(get_bloginfo_rss('url'),ENT_QUOTES); ?></link> <description><?php echo htmlspecialchars(get_bloginfo_rss('description'),ENT_QUOTES); ?></description> <image> <url><?php echo htmlspecialchars($options['image_url'],ENT_QUOTES); ?></url> <title><?php echo htmlspecialchars($options['image_title'],ENT_QUOTES); ?></title> <link><?php echo htmlspecialchars(get_bloginfo_rss('url'),ENT_QUOTES); ?></link> </image> <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp();?> <item> <title><?php /* echo htmlspecialchars(get_the_title_rss(),ENT_QUOTES);*/ echo filter_text( apply_filters('the_content_rss', get_the_title_rss()) ); ?></title> <link><?php echo htmlspecialchars(get_permalink(),ENT_QUOTES); ?></link> <pdalink><?php echo htmlspecialchars(get_permalink(),ENT_QUOTES); ?></pdalink><?php if ($options['description']) { $description = get_the_excerpt(true); // remove copyrights $description = preg_replace('#(/\*.*?\*/)#i', '', $description); $description = apply_filters('get_the_excerpt', $description); $description = apply_filters('the_excerpt_rss',$description); $description = filter_text( $description ); echo "\n\t\t<description>".$description."</description>\n"; } ?> <author><?php the_author() ?></author> <?php echo "<category>".get_the_category_by_ID($post->term_id)."</category>\n"; ?> <?php rss_enclosure(---ЧТО СЮДА ВСТАВИТЬ?---); ?> <pubDate><?php $gmt_offset = get_option('gmt_offset'); $gmt_offset = ($gmt_offset>9)?$gmt_offset:('0'.$gmt_offset.'00'); echo mysql2date('D, d M Y H:i:s +'.$gmt_offset, get_date_from_gmt(get_post_time('Y-m-d H:i:s', true)), false); ?></pubDate> <yandex:full-text><?php $content = get_the_content('', 0, ''); $content = apply_filters('the_content_rss', $content); $content = filter_text($content); // Remove copyrights $content = preg_replace('#(/\*.*?\*/)#i', '', $content); echo (htmlspecialchars(strip_tags($content, ENT_QUOTES))); //the_content_rss('', 0, ''); ?></yandex:full-text> </item> <?php $items_count++; /*if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; }*/ } } ?> </channel> </rss>1. Теперь хотя бы понятно, что речь идёт о плагине 🙂 Непонятно другое:
enclosureиспользуется для аудио- и видеофайлов — в этом случае тип определяется корректно. Откуда и для чего там изображение?
2. Прописывать что-либо при вызовеrss_enclosure()нет смысла — функция не имеет параметров.Спасибо Сергей!
Для яндекс ленты новостей этот параметр.
Может через произвольные поля я неправильно добавляю картинку ?
Сама картинка в исходном RSS (http://libymax.ru/yandex-feed) имеет следующий вид:<enclosure url="http://libymax.ru/wp-content/uploads/2009/12/swinfort_toll_bridge.jpg" length="" type="" />Но Я-кс требует :
<enclosure url="http://libymax.ru/wp-content/uploads/2009/12/swinfort_toll_bridge.jpg" length="" type="image/jpeg" />такого вида чтобы было.
Я enclosure прописываю в произвольных полях при добавлении материала и указываю на загруженную картинку http://libymax.ru/wp-content/uploads/2009/12/swinfort_toll_bridge.jpg
Но параметр type для изображений не указывается в исходном коде, а должен быть jpeg. Может по другому добавлять этот параметр или …?Значение enclosure должно состоять из трёх строк:
http://libymax.ru/wp-content/uploads/2009/12/swinfort_toll_bridge.jpg 58894 image/jpegВторая строка — размер файла в байтах, третья — тип.
Сергей!!!!!!!! Я так и знал что этот ларчик не надо было раскапывать с другой стороны поля))) СПАСИБО ОГРОМНОЕ ВАМ!!!!!!!!! РЕСПЕКТ!
Тема «enclosure» закрыта для новых ответов.