Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

วิธีสร้างฟีด RSS ที่กำหนดเองใน WordPress

วิธีสร้างฟีด RSS ที่กำหนดเองใน WordPress

อะไรจะดีไปกว่า 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 คุณควรลองดูสิ