get_the_content_feed() WP 2.9.0

Отримує вміст поточного запису в циклі фіда. Використовується у циклі.

Ця функція є копією функції the_content_feed , а не тільки the_content .

Якщо вміст запису для фіда, потрібно вивести на екран, використовуйте the_content_feed() .

Працює на основі:
get_the_content()
1 раз – 0.001937 сек
(дуже повільно) | 50000 разів – 8.21 сек
(швидко) |
PHP 7.0.8, WP 4.6.1

Хуки з функції

Повертає

Строку. Контент запису для використання у фіді.

Використання

get_the_content_feed ($ feed_type);
$feed_type
(рядок)

Тип фіду: rss2 | atom | RSS | rdf .

По дефолту використовується результат функції get_default_feed() майже це – rss2 . Це значення також можна змінити через фільтр:

$default_feed = apply_filters( 'default_feed', 'rss2');

Типово: null (rss2)

Приклади

0

#1 Виведення контенту в тегу <item>

<?php
$content = get_the_content_feed('rss2');
if( strlen( $content ) > 0 ){
	?>
	<content:encoded><![CDATA[<?php echo $content; ?>]]></content:encoded>
	<?php }else{ ?>
	<content:encoded><![CDATA[<?php the_excerpt_rss(); ?>]]></content:encoded>
	<?php
}
?>
0

#2 Повний код тегу <item>

Взято з файлу: wp-includes/feed-rss2.php

<?php
/**
 * Fires на кінці RSS2 Feed Header.
 *
 * @ Since 2.0.0
 */
do_action( 'rss2_head');

while( have_posts() ){
	the_post();
	?>
	<item>
		<title><?php the_title_rss() ?></title>
		<link><?php the_permalink_rss() ?></link>
		<?php if ( get_comments_number() || comments_open() ){ ?>
			<comments><?php comments_link_feed(); ?></comments>
		<?php } ?>

		<pubDate><?php echo mysql2date('D, d MYH:i:s +0000', get_post_time('Ymd H:i:s', true), false); ?></pubDate>
		<dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>
		<?php the_category_rss('rss2') ?>

		<guid isPermaLink="false"><?php the_guid(); ?></guid>

		<?php if (get_option('rss_use_excerpt')){ ?>
			<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
		<?php }else{ ?>
			<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>

			<?php $content = get_the_content_feed('rss2'); ?>
			<?php if ( strlen( $content ) > 0 ){ ?>
				<content:encoded><![CDATA[<?php echo $content; ?>]]></content:encoded>
			<?php }else{ ?>
				<content:encoded><![CDATA[<?php the_excerpt_rss(); ?>]]></content:encoded>
			<?php } ?>
		<?php } ?>

		<?php if ( get_comments_number() || comments_open() ){ ?>
			<wfw:commentRss><?php echo esc_url( get_post_comments_feed_link(null, 'rss2') ); ?></wfw:commentRss>
			<slash:comments><?php echo get_comments_number(); ?></slash:comments>
		<?php } ?>

		<?php rss_enclosure(); ?>
		<?php
		/**
		 * Fires at the end of each RSS2 feed item.
		 *
		 * @ Since 2.0.0
		 */
		do_action( 'rss2_item');
		?>
	</item>
	<?php
}
?>

нотатки

список змін

З версії 2.9.0Введено.

Код get_the_content_feed() WP 6.0.2

function get_the_content_feed( $feed_type = null ) {
	if ( ! $feed_type ) {
		$feed_type = get_default_feed();
	}

	/** Цей filter is documented в wp-includes/post-template.php */
	$content = apply_filters( 'the_content', get_the_content() );
	$content = str_replace( ']]>', ']]>', $content );

	/**
	 * Filters post content for use in feeds.
	 *
	 * @ Since 2.9.0
	 *
	 * @param string $content The current post content.
	 * @param string $feed_type Type of feed. Можливі значення включають 'rss2', 'atom'.
	 * Default 'rss2'.
	 */
	return apply_filters( 'the_content_feed', $content, $feed_type );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *