อะไรจะดีไปกว่า 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="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:slash="https://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 คุณควรลองดูสิ