单个仪表板小部件中的不同RSS提要

时间:2013-03-15 作者:10wtaylor

我正在使用这段代码在我的仪表板上作为小部件获取rss提要。当它显示5-6个不同的rss提要时,它就成了问题,这让我很沮丧。

如何在一个带有滚动条的仪表板小部件中添加6个不同的提要?

谢谢

    add_action(\'wp_dashboard_setup\', \'my_dashboard_widgets\');
function my_dashboard_widgets() {
     global $wp_meta_boxes;
     // remove unnecessary widgets
     // var_dump( $wp_meta_boxes[\'dashboard\'] ); // use to get all the widget IDs
     unset(
          $wp_meta_boxes[\'dashboard\'][\'normal\'][\'core\'][\'dashboard_plugins\'],
          $wp_meta_boxes[\'dashboard\'][\'side\'][\'core\'][\'dashboard_secondary\'],
          $wp_meta_boxes[\'dashboard\'][\'side\'][\'core\'][\'dashboard_primary\']
     );
     // add a custom dashboard widget
     wp_add_dashboard_widget( \'dashboard_custom_feed\', \'Latest News\', \'dashboard_custom_feed_output\' ); //add new RSS feed output
}
function dashboard_custom_feed_output() {
     echo \'<div class="rss-widget">\';
     wp_widget_rss_output(array(
          \'url\' => \'http://www.nytimes.com/feed\',  //put your feed URL here
          \'items\' => 4, //how many posts to show
          \'show_summary\' => 1
     ));
     echo "</div>";
}

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

是的,@toscho是对的url 使用一组提要地址。如果你有5/6个feed,那么项目总数应该是20/24。

为了实现清晰的分离,我认为最好运行wp_widget_rss_output 作用n 并准备一个包含标题和地址的前一个数组,然后遍历它。滚动问题只是CSS的问题。

add_action( \'wp_dashboard_setup\', \'multiple_feeds_wpse_91027\' );

function multiple_feeds_wpse_91027() 
{
     wp_add_dashboard_widget( 
        \'dashboard_custom_feed\', 
        \'Latest News\', 
        \'dashboard_feed_output_wpse_91027\' 
    );
}

function dashboard_feed_output_wpse_91027() 
{
    // Array with Title => Address
    $feeds = array( 
        \'First Feed\' => \'http://example.com/feed\',
        \'Second Feed\' => \'http://example2.com/rss\', 
        \'Third Feed\' => \'http://example3.com/feed/\',
    );
    // Set max-height and enable scrolling
    echo \'<div style="max-height:300px;overflow-y:auto">\';
    foreach( $feeds as $key => $value )
    {
        echo "<h3>$key</h3>";
        wp_widget_rss_output(array(
              \'url\' => $value,
              \'items\' => 4, 
              \'show_summary\' => 1
         ));
    }
    echo "</div>";
}

SO网友:David Gard

您可以使用CSS将小部件设置为最大高度,然后根据需要添加滚动条。不过,这是一种有点过时的做事方式,可能看起来有点“naff”。

未经测试,但这应该可以-

div.rss-widget{
    max-height: 300px;
    overflow: scroll;
    overflow-x: hidden;
}

结束

相关推荐

Prevent widgets removal

我正在用许多小部件构建一个网站。它们是高度定制的。当站点处于活动状态时,几个管理员/编辑器必须编辑这些小部件。现在,我很害怕看到一个小部件(及其配置)可以在一次鼠标移动中完全擦除(将其从侧栏中删除)。有没有什么方法可以防止小部件被删除,同时保持编辑其内容的能力?此外,在我看来,管理中的widget管理页面为“添加widget”模块提供了太多的空间,而为“激活的widget”模块提供的空间不足。这在创建站点时很有用,但在完成站点时却毫无用处。有没有办法切换这些模块的大小?非常感谢