WordPress: Cara Memublikasikan Feed Untuk Setiap Kategori Di Blog Anda
Secara default, blog WordPress memiliki feed yang menggabungkan semua postingannya, apa pun kategorinya. Salah satu cara untuk meningkatkan personalisasi dan segmentasi bagi pengunjung situs Anda adalah dengan mengaktifkan RSS feed khusus untuk kategori minat mereka. Anda juga dapat memanfaatkan kategori tertentu feed untuk menerbitkan buletin email. Namun, Anda dapat membuat feed kategori khusus untuk blog WordPress atau jenis postingan khusus jika Anda mau.
Umpan Kategori WordPress
Berikut kode yang dapat Anda tambahkan ke tema anak functions.php
file yang menghasilkan umpan RSS khusus kategori di WordPress dengan daftar penyertaan dan pengecualian untuk ID kategori:
function custom_category_feeds() {
$categories = get_categories();
// Define an array of category IDs to include and exclude
$included_category_ids = array(3, 4); // Add IDs of categories to include
$excluded_category_ids = array(1, 2); // Add IDs of categories to exclude
foreach ($categories as $category) {
$category_id = $category->term_id;
// Check if the category should be excluded
if (in_array($category_id, $excluded_category_ids)) {
continue; // Skip excluded categories
}
// Check if the category should be included
if (!empty($included_category_ids) && !in_array($category_id, $included_category_ids)) {
continue; // Skip categories not in the inclusion list
}
$category_slug = $category->slug;
$category_name = $category->name;
// Start building the RSS feed content
$rss_feed = '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
$rss_feed .= '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">' . "\n";
$rss_feed .= '<channel>' . "\n";
$rss_feed .= '<title>' . $category_name . ' RSS Feed</title>' . "\n";
$rss_feed .= '<link>' . get_bloginfo('url') . '</link>' . "\n";
$rss_feed .= '<description>' . $category_name . ' RSS Feed</description>' . "\n";
$rss_feed .= '<atom:link href="' . esc_url(site_url("/category/$category_slug/feed/")) . '" rel="self" type="application/rss+xml" />' . "\n";
// Query posts in the current category
$args = array(
'cat' => $category_id,
'posts_per_page' => 10, // Adjust as needed
);
$category_posts = new WP_Query($args);
while ($category_posts->have_posts()) {
$category_posts->the_post();
$rss_feed .= '<item>' . "\n";
$rss_feed .= '<title>' . get_the_title() . '</title>' . "\n";
$rss_feed .= '<link>' . get_permalink() . '</link>' . "\n";
$rss_feed .= '<pubDate>' . get_the_time('D, d M Y H:i:s O') . '</pubDate>' . "\n";
$rss_feed .= '</item>' . "\n";
}
wp_reset_postdata();
$rss_feed .= '</channel>' . "\n";
$rss_feed .= '</rss>';
// Output the feed
header('Content-Type: application/rss+xml; charset=UTF-8');
echo $rss_feed;
}
}
add_action('do_feed_category', 'custom_category_feeds', 10, 1);
add_action('do_feed_category_rss2', 'custom_category_feeds', 10, 1);
Berikut penjelasan kodenya:
- Deklarasi Fungsi: Kode mendefinisikan fungsi bernama
custom_category_feeds
. - Daftar Inklusi dan Pengecualian Kategori:
- Dua array didefinisikan:
$included_category_ids
: Array ini menyimpan ID kategori yang ingin Anda sertakan dalam feed.$excluded_category_ids
: Array ini menyimpan ID kategori yang ingin Anda kecualikan dari feed.
- Dua array didefinisikan:
- Kategori Ulangi: Kode menggunakan
get_categories()
untuk mengambil daftar semua kategori. - Pemeriksaan Daftar Pengecualian: Untuk setiap kategori, ia memeriksa apakah ID kategori ada di
$excluded_category_ids
Himpunan. Jika ya, kode dilanjutkan ke kategori berikutnya (tidak termasuk). - Pemeriksaan Daftar Penyertaan: Ia kemudian memeriksa apakah kategori tersebut harus dimasukkan. Jika
$included_category_ids
array tidak kosong, dan ID kategori tidak ada dalam array itu, kode berlanjut ke kategori berikutnya (tidak termasuk dari penyertaan). - Menghasilkan Konten Umpan RSS: Kode tersebut menghasilkan konten umpan RSS untuk kategori yang lolos pemeriksaan penyertaan dan pengecualian. Kode untuk menghasilkan konten RSS feed tidak ditampilkan tetapi harus serupa dengan contoh sebelumnya.
- Keluarkan Umpan: Terakhir, ini menetapkan jenis konten yang sesuai untuk umpan RSS dan menggemakan konten umpan RSS.
Fitur utama dari kode ini adalah kemampuan untuk menentukan daftar penyertaan dan daftar pengecualian ID kategori, memberi Anda kontrol yang lebih baik terhadap kategori mana yang disertakan atau dikecualikan dalam umpan RSS khusus kategori yang dihasilkan.
Umpan Kategori WordPress Anda
Pengguna dapat menggunakan URL struktur yang disediakan sebelumnya untuk mengakses feed khusus kategori khusus yang Anda buat di WordPress. Format URL untuk mengakses feed kategori tertentu adalah sebagai berikut:
http://yourwebsite.com/category/{category-name}/feed/
Berikut rincian cara memanggil feed:
- menggantikan
yourwebsite.com
dengan domain atau URL situs web Anda yang sebenarnya. - Mengganti {
category-name
} dengan siput kategori yang ingin Anda akses feednya. Siput adalah versi nama kategori yang dipisahkan dengan huruf kecil dan tanda hubung. Misalnya, jika nama kategori Anda adalah Tips Pemasaran, siputnya bisa saja tips pemasaran. - Add
/feed/
di akhir URL. Ini menunjukkan bahwa Anda ingin mengakses RSS atau Atom feed untuk kategori tertentu.
Misalnya, jika situs web Anda adalah “example.com”, dan Anda ingin mengakses feed untuk kategori “Tips Pemasaran”, URL-nya adalah:
http://example.com/category/marketing-tips/feed/
Pengguna dapat memasukkan URL ini ke browser web mereka atau menggunakan aplikasi pembaca feed untuk berlangganan feed kategori tertentu. URL ini akan memberi mereka umpan RSS atau Atom untuk kategori yang dipilih, sehingga memudahkan mereka untuk terus mendapatkan informasi terbaru tentang konten dalam kategori tersebut.