Anonim

您在WordPress开发中的某个时候可能需要向某人提供自定义提要。 无论是为某人提供API,还是为特定用户提供更好的体验,都可以轻松实现。

我更喜欢创建一个新的提要,而不是扩展默认提要,因为我发现此方法更简单

add_feed WordPress功能

add_filter('init','tj_init_custom_feed'); 函数tj_init_custom_feed(){//初始化供稿add_feed('custom-feed','tj_custom_feed'); }

在WordPress主题中的functions.php文件中,添加上面的代码。 最好不要直接调用add_feed,我们通过'init'上的过滤器将其添加。 函数调用中的第一个参数用于提供提要的URL段。 第二个参数用于将其与函数名称绑定。 因此,当调用该URL(yourblogurl.com/custom-feed)时,它将执行PHP函数tj_custom_feed。

请注意,必须正确清除WordPress的重写规则,然后才能正确识别该URL。 强制刷新规则的一种简单好方法是转到WordPress管理员->设置->永久链接,然后单击保存更改按钮。

输出XML

输出RSS / XML提要代码真的没有太复杂。 首先,通过php标头函数设置content-type,以便可以适当地呈现它。 接下来,我们从get_posts中检索一些数据,遍历它们,并将其回显到屏幕上。

函数tj_custom_feed(){header(“ Content-type:text / xml”); 回显“ \ n”; 回声“ \ n“; $ posts = get_posts(); foreach($ posts as $ post){$ post_link = get_permalink($ post-> ID); $ image = wp_get_attachment_image_src(get_post_thumbnail_id($ post-> ID),'full') ;回声 '; 回声“ \ t “ $ post-> ID。” \ n“;回声” \ t “ $ post-> post_date。” \ n“;回声” \ t “ $ post_link。” \ n“;回声” \ t “ esc_html($ post-> post_title)。” \ n“;回声” \ t “ esc_html(strip_tags($ post-> post_excerpt))。 \ n“;回声” \ t $图片。“ “;回显' '; 回声“ “; 出口; }

创建自定义的WordPress的RSS / XML提要