fetch_feed: извлекать записи в порядке появления, а не в хронологическом порядке

Я использую функцию fetch_feed WP для извлечения фида и отображения его элементов.

<?php /* include the required file */ include_once(ABSPATH . WPINC . '/feed.php'); /* specify the source feed */ $rss = fetch_feed('FEED_URL'); /* checks obj. is created */ if (!is_wp_error( $rss ) ) : /* specify number of items */ $maxitems = $rss->get_item_quantity(4); /* create an array of items */ $rss_items = $rss->get_items(0, $maxitems); endif; ?> <ul> <?php if ($maxitems == 0) echo '<li>Content not available.</li>'; else // Loop through each feed item and display each item as a hyperlink. foreach ( $rss_items as $item ) : ?> <li> <a href="<?php echo $item->get_permalink(); ?>" title="<?php echo esc_html( $item->get_title() ); ?>" rel="external"><?php echo esc_html( $item->get_title() ); ?></a> </li> <?php endforeach; ?> </ul> 

Если я посещу соответствующий канал (например, Firefox), я вижу записи в порядке появления XML. fetch_feed извлекает самые последние вместо этого (в соответствии с их «опубликованным» тегом). Как я могу убедиться, что он извлекает элементы в соответствии с их порядком в XML-фиде (не хронологически). Может быть, можно установить порядок с этим ..?

EDIT: я попробовал добавить $ feed-> enable_order_by_date (false); но, похоже, нарушает функцию.

Solutions Collecting From Web of "fetch_feed: извлекать записи в порядке появления, а не в хронологическом порядке"

Хорошо, нашел. Я потратил несколько часов на это, но мне удалось найти решение. Команда, которую я искал, была $ rss-> enable_order_by_date (false) ;.

Поэтому вы должны установить (в интересах сообщества):

  <?php /* include the required file */ include_once(ABSPATH . WPINC . '/feed.php'); /* specify the source feed */ $rss = fetch_feed('FEED_URL'); /* disable order by date */ $rss->enable_order_by_date(false); /* checks obj. is created */ if (!is_wp_error( $rss ) ) : /* specify number of items */ $maxitems = $rss->get_item_quantity(X); /* create an array of items */ $rss_items = $rss->get_items(0, $maxitems); endif; ?> <ul> <?php if ($maxitems == 0) echo '<li>Content not available.</li>'; else // Loop through each feed item and display each item as a hyperlink. foreach ( $rss_items as $item ) : ?> <li> <a href="<?php echo $item->get_permalink(); ?>" title="<?php echo esc_html( $item->get_title() ); ?>" rel="external"><?php echo esc_html( $item->get_title() ); ?></a> </li> <?php endforeach; ?> </ul> 

Надеюсь это поможет! 🙂