WordPress: Jinsi ya Kuchapisha Milisho kwa Kila Kategoria kwenye Blogu yako
Kwa chaguo-msingi, blogu ya WordPress ina mpasho unaojumuisha machapisho yake yote, bila kujali kategoria. Njia moja ya kuboresha ubinafsishaji na sehemu kwa wanaotembelea tovuti yako ni kuwasha RSS malisho mahususi kwa kategoria zao zinazowavutia. Unaweza pia kutumia kitengo maalum malisho ili kuchapisha jarida la barua pepe. Hata hivyo, unaweza kuunda milisho ya kategoria maalum kwa blogu yako ya WordPress au aina maalum za machapisho ikiwa ungependa.
Milisho ya Jamii ya WordPress
Hapa kuna nambari ya kuthibitisha ambayo unaweza kuongeza kwa yako mandhari ya mtoto functions.php
faili inayozalisha milisho ya aina mahususi ya RSS katika WordPress yenye orodha za kujumuisha na kutengwa kwa Vitambulisho vya kategoria:
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);
Hapa kuna maelezo ya nambari:
- Tamko la Kazi: Msimbo hufafanua chaguo la kukokotoa lenye jina
custom_category_feeds
. - Orodha za Ujumuishaji na Kutengwa:
- Safu mbili zimefafanuliwa:
$included_category_ids
: Mkusanyiko huu unashikilia vitambulisho vya kategoria ambavyo ungependa kujumuisha kwenye milisho.$excluded_category_ids
: Mkusanyiko huu unashikilia vitambulisho vya kategoria ambavyo ungependa kuvitenga kutoka kwa milisho.
- Safu mbili zimefafanuliwa:
- Kupitia Kategoria: Kanuni hutumia
get_categories()
kupata orodha ya kategoria zote. - Angalia Orodha ya Kutengwa: Kwa kila aina, hukagua kama kitambulisho cha kategoria kiko kwenye
$excluded_category_ids
safu. Ikiwa ni, msimbo unaendelea hadi kategoria inayofuata (haijumuishi). - Angalia Orodha ya Kujumuisha: Kisha huangalia ikiwa kategoria inapaswa kujumuishwa. Ikiwa
$included_category_ids
safu si tupu, na kitambulisho cha kategoria hakiko katika safu hiyo, msimbo unaendelea hadi kategoria inayofuata (haujumuishi kutoka kwa kujumuishwa). - Inazalisha Maudhui ya Milisho ya RSS: Nambari ya kuthibitisha inaendelea ili kuzalisha maudhui ya mipasho ya RSS kwa kategoria zinazopitisha ukaguzi wa ujumuishaji na utengaji. Msimbo wa kuzalisha maudhui ya mipasho ya RSS hauonyeshwi lakini unapaswa kuwa sawa na mifano ya awali.
- Toa Mlisho: Hatimaye, huweka aina ya maudhui inayofaa kwa mlisho wa RSS na kutoa mwangwi wa maudhui ya mipasho ya RSS.
Kipengele kikuu cha msimbo huu ni uwezo wa kubainisha orodha ya ujumuishi na orodha ya kutojumuisha ya Vitambulisho vya kategoria, kukupa udhibiti mzuri wa ni aina gani zimejumuishwa au kutengwa katika milisho ya kategoria mahususi ya RSS.
Mlisho wa Kitengo chako cha WordPress
Watumiaji wanaweza kutumia URL muundo uliotolewa mapema ili kufikia mpasho maalum wa kitengo maalum ambao umeunda katika WordPress. Umbizo la URL la kufikia mlisho wa aina mahususi ni kama ifuatavyo:
http://yourwebsite.com/category/{category-name}/feed/
Huu hapa ni muhtasari wa jinsi ya kupiga mipasho:
- Nafasi
yourwebsite.com
na kikoa chako halisi cha tovuti au URL. - Badilisha {
category-name
} na koa wa kategoria ambayo ungependa kufikia mipasho. Koa ni toleo la herufi ndogo, lililotenganishwa na hyphen la jina la kategoria. Kwa mfano, ikiwa jina la kategoria yako ni Vidokezo vya Uuzaji, koa inaweza kuwa vidokezo vya uuzaji. - Kuongeza
/feed/
hadi mwisho wa URL. Hii inaonyesha kuwa unataka kufikia mlisho wa RSS au Atom kwa kategoria mahususi.
Kwa mfano, ikiwa tovuti yako ni “example.com,” na ungependa kufikia mipasho ya aina ya “Vidokezo vya Uuzaji”, URL itakuwa:
http://example.com/category/marketing-tips/feed/
Watumiaji wanaweza kuingiza URL hii kwenye kivinjari chao cha wavuti au kutumia programu za kisomaji mipasho ili kujiandikisha kwa mipasho mahususi ya kategoria. URL hii itawapa mlisho wa RSS au Atom kwa kategoria iliyochaguliwa, na hivyo kurahisisha kusasisha maudhui katika kategoria hiyo.