FETCH_FEED:按显示顺序检索条目,而不是按时间顺序

时间:2013-02-03 作者:MultiformeIngegno

我正在使用WP函数fetch\\u feed来检索提要并显示其项目。

    <?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>
如果我访问feed in question 使用(例如)Firefox,我可以看到XML中的条目的显示顺序。fetch\\u feed取而代之的是检索最近的(根据其“published”标记)。如何确保它根据XML提要上的项目顺序(而不是按时间顺序)检索项目。也许可以设置订单this..?

EDIT: 我尝试添加$feed->启用\\u order\\u by\\u date(false);但它似乎破坏了功能。。

1 个回复
最合适的回答,由SO网友:MultiformeIngegno 整理而成

好的,找到了。我花了几个小时在这个问题上,但我设法找到了解决办法。我要查找的命令是$rss->enable\\u order\\u by\\u 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>
希望这有帮助!:)

结束

相关推荐

将admin-ajax.php添加到前端。好主意还是坏主意?

我喜欢管理ajax。php。但我讨厌必须本地化才能将前端脚本指向它,我希望有一个等效的、易于查找的主题文件。(看到前端请求通过“/wp-admin/”,我也很烦恼。没有实际原因,只是看起来很难看。)所以我只是复制了管理ajax。php中的根目录“/ajax.php”,调整了包含路径并删除了WP\\u ADMIN常量定义。看起来就像gangbusters(我现在可以将所有前端AJAX请求直接发送到/AJAX.php!并且我仍然可以在插件中使用普通的wp\\uAjax挂钩!)。但这安全吗?可能出现什么问题?由