อะไรจะดีไปกว่า RSS Feed? ฟีด RSS ที่กำหนดเองแน่นอน! ผู้คนจำนวนมากได้คาดการณ์ถึงความตายของเทคโนโลยีการแบ่งปันนี้มานานหลายชั่วอายุคน แต่ก็ยังมีความแข็งแกร่ง
สถิติแสดงให้เห็นว่ากว่า 2,000 เว็บไซต์ชั้นนำของโลก 10,000 แห่งเผยแพร่ฟีด RSS อย่างเคร่งครัด Feedly ซึ่งเป็นบริการรวบรวมฟีด RSS ยอดนิยม ขยายฐานสมาชิกได้ 900% ในสองปีและมีรายได้มากกว่า 400%
คุณอาจสนใจที่จะให้ผู้เข้าชมได้รับประสบการณ์ผู้ใช้ที่ปรับแต่งเองได้นอกเหนือจากฟีด WordPress RSS เริ่มต้นของคุณ มาสำรวจวิธีปรับแต่งฟีดให้เหมาะกับเว็บไซต์และผู้ชมกันเถอะ
สำรองข้อมูลเว็บไซต์ของคุณ
คุณจะไปที่ส่วนหลังของเว็บไซต์ของคุณ ดังนั้นสำรองข้อมูลเว็บไซต์ของคุณ หากมีสิ่งใดเสียหาย คุณจะยังคงเว็บไซต์ เนื้อหา และการตั้งค่าของคุณไม่เสียหาย อย่าละเลยขั้นตอนนี้ไม่ว่าอะไรจะเกิดขึ้น!
นอกจากนี้ เราจะสร้างไฟล์เทมเพลตใหม่สำหรับธีม WordPress ของคุณ ดังนั้นคุณอาจต้องการเปลี่ยนไปใช้/สร้างธีมย่อย เพื่อไม่ให้ธีมที่มีอยู่ของคุณยุ่งเหยิง
การสร้างฟีด RSS แบบกำหนดเองใน WordPress
ในการเริ่มต้น เราจะทำงานกับไฟล์ “functions.php” ในโฟลเดอร์ธีมของคุณ เปิดและวางโค้ดด้านล่าง:
/* This code initializes the custom RSS Feeds for your website*/
add_action( 'init', 'MyCustomRSS' );
function MyCustomRSS(){
add_feed( 'mycustomfeedname', 'MyCustomFeedCallback' );
}
/* This code seeks the template for your RSS feed */
function MyCustomFeedCallback(){
get_template_part( 'rss', 'mycustomfeedname' ); // need to be in small case.
} สังเกตส่วนที่ขอให้คุณพิมพ์ชื่อฟีด RSS ที่กำหนดเอง ทำให้ชื่อนี้เรียบง่ายเพื่อให้คุณสามารถจำได้ง่ายเนื่องจากเป็น URL ของฟีดเว็บไซต์ของคุณ เช่น “https://yoursite.com/feed/mycustomfeedname”
หมายเหตุ :ชื่อฟีด RSS ที่กำหนดเองของคุณต้องเป็นตัวอักษรขนาดเล็กเท่านั้น
สร้างเทมเพลต RSS Feeds ที่กำหนดเอง
เทมเพลตของฟีด RSS ที่กำหนดเองคือข้อมูลที่ฟีดของคุณจะต้องใช้ในการแสดงฟีดของคุณ คิดว่าเป็นคุณลักษณะประเภท HTML/CSS สำหรับฟีดของคุณ ในการดำเนินการนี้ คุณต้องสร้างไฟล์อื่นที่มีชื่อเฉพาะ ชื่อนี้ต้องเป็นไปตามแบบแผน:“rss-mycustomfeedname.php”
บันทึกไฟล์นี้ในโฟลเดอร์ธีมลูกของคุณ เปิดไฟล์นี้แล้ววางโค้ดต่อไปนี้:
<?php
/**
* Template Name: Custom RSS Template - YourCustomFeedName
*/
$postCount = 10; // The number of posts to show in the feed
$postType = 'post'; // post type to display in the feed
query_posts( array( 'post_type' => $postType, 'showposts' => $postCount ) );
$charset = get_option( 'blog_charset' );
header( 'Content-Type: ' . feed_content_type( 'rss-http' ) . '; charset=' . $charset, true );
?><?xml version="1.0" encoding="<?php echo $charset; ?>"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
<?php do_action('rss2_ns'); ?>>
<channel>
<title><?php bloginfo_rss( 'name' ); ?> - Feed</title>
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
<link><?php bloginfo_rss('url'); ?></link>
<description><?php bloginfo_rss('description'); ?></description>
<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
<language><?php echo get_option('rss_language'); ?></language>
<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
<?php do_action('rss2_head'); ?>
<?php while(have_posts()) : the_post(); ?>
<item>
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss(); ?></link>
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
<dc:creator><?php the_author(); ?></dc:creator>
<guid isPermaLink="false"><?php the_guid(); ?></guid>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
<?php rss_enclosure(); ?>
<?php do_action('rss2_item'); ?>
</item>
<?php endwhile; ?>
</channel>
</rss>
<?php // Reset Query
wp_reset_query();
คุณสามารถแก้ไขไฟล์นี้เพื่อแสดงโพสต์ได้มากเท่าที่คุณต้องการ ใช้ $postCount ตัวแปรเพื่อเปลี่ยนจำนวนโพสต์ที่จะแสดง ค่าเริ่มต้นจะแสดง "โพสต์" แต่คุณสามารถเปลี่ยนเพื่อแสดงประเภทโพสต์อื่นได้โดยเปลี่ยน $postType ตัวแปร. คุณลักษณะข้อความที่ตัดตอนมาจะแสดงข้อความที่ตัดตอนมาสำหรับโพสต์ของคุณด้วย หากโพสต์ของคุณไม่มีข้อความที่ตัดตอนมา จะแสดง 120 คำแรกในบทความ
การเพิ่มฟังก์ชันการทำงานให้กับฟีด RSS ที่กำหนดเอง
ตอนนี้คุณมีเทมเพลตที่ใช้งานได้แล้ว คุณสามารถเพิ่มสิ่งอื่นๆ ลงไปได้
แสดงภาพขนาดย่อของโพสต์ในฟีด
หากคุณต้องการใส่ภาพขนาดย่อของโพสต์ในฟีดของคุณ ให้คัดลอกและวางโค้ดต่อไปนี้ที่ด้านล่างของไฟล์ “functions.php”
หากโพสต์ของคุณมีภาพขนาดย่อ ฟังก์ชันนี้จะค้นหาและแสดงร่วมกับข้อความฟีดของคุณ หากไม่มีภาพ แสดงว่าไม่มีผล
/*This code adds thumbnail feature to your custom feed*/
add_action( 'rss2_item', 'custom_thumbnail_tag' );
function custom_thumbnail_tag() {
global $post;
if ( has_post_thumbnail( $post->ID ) ) {
$thumbnail = get_attachment_link( get_post_thumbnail_id( $post->ID ) );
echo("<image>{$thumbnail}</image>");
}
} ตั้งค่าภาษาฟีด
บางครั้งคุณอาจต้องประกาศภาษาสำหรับฟีดที่กำหนดเองเพื่อให้ใช้งานได้
ทำได้โดยใช้รหัสนี้ในไฟล์ “functions.php” ของคุณ:
function myFeedLanguage(){
update_option( 'rss_language', 'en' );
}
add_action( 'admin_init', 'myFeedLanguage' );
การดำเนินการนี้จะกำหนดค่าภาษาของคุณเป็นภาษาอังกฤษ หากคุณต้องการเปลี่ยนเป็นภาษาอื่น ให้แก้ไข en ในโค้ดฟังก์ชันเป็นภาษาที่คุณต้องการ รับรายการรหัสภาษาทั้งหมดจากลิงค์นี้
ทำให้ฟีดที่กำหนดเองของคุณทำงานได้
เพื่อให้ฟีด RSS แบบกำหนดเองของคุณทำงานได้ คุณต้องใช้การเขียนซ้ำกับระบบ WordPress ของคุณ สิ่งที่คุณต้องทำคือไปที่ "การตั้งค่า -> ลิงก์ถาวร" แล้วคลิก "บันทึกการเปลี่ยนแปลง"
บทสรุป
ฟีด RSS ที่กำหนดเองเป็นวิธีที่ยอดเยี่ยมในการแสดงเนื้อหาของคุณแก่ผู้ที่อาจมีการเชื่อมต่อไม่เพียงพอที่จะเข้าถึงเว็บไซต์เต็มรูปแบบของคุณ นอกจากนี้ยังช่วยให้ผู้ชมใหม่ๆ ค้นพบคุณผ่านแอปฟีด RSS บน Android และ iOS คุณควรลองดูสิ