如何在WordPress仪表板中添加自定义RSS Feed

在WordPress仪表板中添加自定义RSS Feed

互联网上充斥着巨大的资源,因此很难一窥所有事物。当然,有Twitter来关注趋势或RSS阅读器软件,但是您就像我一样非常忙,有时同时打开20个软件很烦人。这就是为什么我决定将WordPress仪表板用作全球平台来快速访问这些提要的原因。我今天要分享的一个示例是如何在WordPress仪表板中创建自定义RSS元框.


这是我们要创建的最终结果:

添加一个自定义RSS仪表板元框

步骤1:外挂程式

要添加此metabox,我们需要创建一个插件。因此,只需在wp-content / plugins /中创建一个名为“ my-dashboard-metaboxes”的新文件夹,然后在新文件夹中创建一个名为my-dashboard-metaboxes.php的文件。该文件将成为主插件文件。将其打开到主编辑器中。下面的代码是将生成插件的代码。这里没有什么真正复杂的:

步骤2:注册Metabox

现在我们有了一个空插件(我的意思是一个无能为力的插件),我们需要至少注册一个metabox才能在WordPress仪表板上显示。为此,我们必须创建一个新函数,该函数将钩住“wp_dashboard_setup钩。我们将此函数称为“ rc_mdm_register_widgets()”。在此功能内,我们需要告诉WordPress我们要添加一个新的metabox,这是“wp_add_dashboard_widget()”功能。此函数接受4个参数:

1 – $ widget_id (整数)(必需)您的窗口小部件的标识段。这将用作其CSS类以及其在小部件数组中的键.
默认值:无

2 – $ widget_name (字符串)(必填),这是您的小部件将在其标题中显示的名称.
默认值:无

3 – $ callback (字符串)(必需)您创建的函数的名称,该函数将显示小部件的实际内容.
默认值:无

4 – $ control_callback (字符串)(可选)您创建的函数的名称,该函数将处理小部件选项(配置)表单的提交,并且还将显示表单元素.

这里重要的是第三个参数,它是定义将要加载到metabox中的功能的参数。在此示例中,其名为“ rc_mdm_create_my_rss_box()”.

/ **
*注册所有仪表板元框
*
* @公开访问
* @自1.0起
* @返回无效
* /

函数rc_mdm_register_widgets(){
全局$ wp_meta_boxes;

wp_add_dashboard_widget('widget_freelanceswitch',__('My RSS Feeds','rc_mdm'),'rc_mdm_create_my_rss_box');
}
add_action('wp_dashboard_setup','rc_mdm_register_widgets');

步骤3:Metabox内容

如果您激活插件并转到WordPress仪表板,则应该看到一个新的空metabox。现在,我们需要填写其内容。此函数的重要事项是包括WordPress内置的“ feed.php”文件,允许其使用“ fetch_feed()”函数。请注意,因为不建议使用“ fetch_rss()”,“ get_rss()”和“ wp_rss()”,所以我们使用的是“ fetch_feed()”。一次,我直接将所有注释都包含在代码中,但我想在metabox函数中使用的一些不错的功能上引起您的注意.

首先是“fetch_feed()”功能。此代码用于获取和解析提要内容。此功能正在使用 SimplePie类, 因此您可以利用其中包含的几乎所有功能.

然后,我们有了“ human_time_diff()”函数,该函数用于将时间显示为“human_time_diff()例如显示“ 2小时前”,“ 4天前”等……这是WordPress功能.

最后,我们有“wp_html_excerpt()”以缩短每个Feed的内容.

所有其他功能都是众所周知的WordPress功能,或者包含在Simple Pie类中.

这是代码:

/ **
*创建RSS metabox
*
* @公开访问
* @自1.0起
* @返回无效
* /

函数rc_mdm_create_my_rss_box(){

//获取RSS feed
include_once(ABSPATH。WPINC。'/ feed.php');

//我的供稿列表(添加您自己的RSS供稿网址)
$ my_feeds = array(
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/?post_type=job_listing'
);

//遍历Feed
foreach($ my_feeds作为$ feed):

//从指定的提要源获取SimplePie提要对象.
$ rss = fetch_feed($ feed);
if(!is_wp_error($ rss))://检查对象是否正确创建
//找出总共有多少项,然后选择一个限制
$ maxitems = $ rss-> get_item_quantity(3);

//建立一个所有元素的数组,从元素0(第一个元素)开始.
$ rss_items = $ rss-> get_items(0,$ maxitems);

//获取RSS标题
$ rss_title ='get_permalink()。'“ target =” _ blank“>'。strtoupper($ rss-> get_title())。';
万一;

//显示容器
回声
'; 回声“。$ rss_title。”'; 回声
'; //开始列表中的项目
    标签 回声
      '; //检查项目 如果($ maxitems == 0){ 回声
    • '.__('无项目','rc_mdm')。.
    • '; }其他{ //循环浏览每个供稿项目,并将每个项目显示为超链接. foreach($ rss_items as $ item): //下面的取消注释行以显示非人工日期 // $ item_date = $ item-> get_date(get_option('date_format')。'@'.get_option('time_format')); //获取人类日期(如果要使用非人类日期则请添加注释) $ item_date = human_time_diff($ item-> get_date('U'),current_time('timestamp'))。 '.__('ago','rc_mdm'); //开始在
    • 标签 回声
    • '; //创建商品链接 回声get_permalink())。'“ title =”'。$ item_date。'“>'; //获取商品标题 回声esc_html($ item-> get_title()); 回声'; //显示日期 回声 “。$ item_date。”
      '; //获取商品内容 $ content = $ item-> get_content(); //缩短内容 $ content = wp_html_excerpt($ content,120)。 '[...]'; //显示内容 echo $ content; // 结束
    • 标签 回声
    • '; endforeach; } // 结束
        标签 回声
'; endforeach; //结束foreach提要 }

第15行有一个数组,您可以在其中放置任意数量的供稿。您还可以定义要在第27行显示的每个提要项的数量。最后,在第50和54行,您可以选择显示人工日期或正常日期。由你决定.

结论

好的,所以我们创建了一个简单的metabox,但是现在您已经具备了使用自己的内容创建自己的metabox的基础。您还可以删除默认的WordPress metabox,并全面了解 仪表板小部件API, 我鼓励您像往常一样看一下 法典.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map