Как получить произвольные типы записей в RSS ленте WordPress
Answered
Уважаемые знатоки, сайт на вордпресс, использует произвольные типы записей, но в стандартном RSS фиде их нет. Пробовал: /feed /rss /wp-rss2.php ?feed=rss2 произвольные типы отсутствуют в RSS ленте. Помогите! P.S. Нашел инструкцию вида (хук для functions.php):
function wph_feed_all($vars) { if (isset($vars['feed']) && !isset($vars['post_type'])) $vars['post_type'] = array('post', 'custom_type'); //custom_type - название произвольного поля return $vars; } add_filter('request', 'wph_feed_all');
Пробовал не помогло!
Best answer
Вывод произвольных типов записей в RSS реализован в ядре WordPress и не подразумевает использование сторонних хуков. Чтобы получить по RSS записи произвольных типов, нужно вызвать урл в следующем формате:
/feed/?post_type=custom_type
Не знаю, насколько будет работать нижеследующий код, но попробуйте.
Подключаем записи произвольных типов в общую RSS ленту WordPress:
function add_new_post_types_to_feed( $query ) { if( ! $query->is_feed || ! $query->is_main_query() ) return; $query->set( 'post_type', array('post', 'custom_type') ); } add_filter('pre_get_posts', 'add_new_post_types_to_feed');
Спасибо. Но не работает и этот код. У меня версия WP - 4.5.2 (может в новом кодексе подобные штучки уже не работают?)