WordPress: Sut i Gyhoeddi Porthiannau Ar Gyfer Pob Categori Ar Eich Blog
Yn ddiofyn, mae gan blog WordPress borthiant sy'n ymgorffori ei holl bostiadau, waeth beth fo'r categori. Un ffordd o wella personoli a segmentu ar gyfer eich ymwelwyr safle yw galluogi a RSS porthiant sy'n benodol i'w categorïau diddordeb. Gallwch hefyd ddefnyddio categori-benodol porthiant i gyhoeddi cylchlythyr e-bost. Fodd bynnag, gallwch greu porthiannau categori wedi'u teilwra ar gyfer eich blog WordPress neu fathau o bost arferol os hoffech chi.
WordPress Categori Feeds
Dyma god y gallwch ei ychwanegu at eich thema plentyn functions.php
ffeil sy'n cynhyrchu porthiannau RSS categori-benodol yn WordPress gyda rhestrau cynnwys ac eithrio ar gyfer IDau categori:
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);
Dyma esboniad o'r cod:
- Datganiad Swyddogaeth: Mae'r cod yn diffinio swyddogaeth a enwir
custom_category_feeds
. - Rhestrau Cynhwysiant a Gwahardd categorïau:
- Diffinnir dwy arae:
$included_category_ids
: Mae'r arae hon yn dal yr IDau categori yr ydych am eu cynnwys yn y ffrydiau.$excluded_category_ids
: Mae'r arae hon yn dal yr IDau categori yr ydych am eu heithrio o'r ffrydiau.
- Diffinnir dwy arae:
- Cylchdrowch Trwy Gategorïau: Mae'r cod yn defnyddio
get_categories()
i adalw rhestr o bob categori. - Gwiriad Rhestr Waharddiadau: Ar gyfer pob categori, mae'n gwirio a yw ID y categori yn y
$excluded_category_ids
arae. Os ydyw, mae'r cod yn parhau i'r categori nesaf (heb ei gynnwys). - Gwiriad Rhestr Cynhwysiant: Yna mae'n gwirio a ddylid cynnwys y categori. Os bydd y
$included_category_ids
nid yw'r arae yn wag, ac nid yw'r ID categori yn yr arae honno, mae'r cod yn parhau i'r categori nesaf (yn ei eithrio rhag ei gynnwys). - Cynhyrchu Cynnwys Porthiant RSS: Mae'r cod yn mynd rhagddo i gynhyrchu'r cynnwys porthiant RSS ar gyfer categorïau sy'n pasio'r gwiriadau cynhwysiant a gwaharddiad. Nid yw'r cod ar gyfer cynhyrchu cynnwys porthiant RSS yn cael ei ddangos ond dylai fod yn debyg i'r enghreifftiau blaenorol.
- Allbwn y Porthiant: Yn olaf, mae'n gosod y math priodol o gynnwys ar gyfer y porthiant RSS ac yn adleisio cynnwys y porthiant RSS.
Nodwedd allweddol y cod hwn yw'r gallu i nodi rhestr gynhwysiant a rhestr wahardd o IDau categori, gan roi rheolaeth fanwl i chi dros ba gategorïau sy'n cael eu cynnwys neu eu heithrio yn y porthiannau RSS categori-benodol a gynhyrchir.
Eich Porthiant Categori WordPress
Gall defnyddwyr ddefnyddio'r URL strwythur a ddarparwyd yn gynharach i gael mynediad at y porthiant categori-benodol wedi'i deilwra rydych chi wedi'i greu yn WordPress. Mae'r fformat URL i gael mynediad at borthiant categori-benodol fel a ganlyn:
http://yourwebsite.com/category/{category-name}/feed/
Dyma ddadansoddiad o sut i alw'r porthiant:
- Disodli
yourwebsite.com
gyda'ch parth gwefan gwirioneddol neu URL. - Disodli {
category-name
} gyda gwlithen y categori yr ydych am gael mynediad i'r porthwr ar ei gyfer. Mae'r wlithen yn fersiwn llythrennau bach, wedi'u gwahanu â chysylltnod, o enw'r categori. Er enghraifft, os yw eich enw categori Awgrymiadau Marchnata, gallai'r wlithen fod cynghorion marchnata. - Ychwanegu
/feed/
i ddiwedd yr URL. Mae hyn yn dangos eich bod am gael mynediad i'r porthiant RSS neu Atom ar gyfer y categori penodol.
Er enghraifft, os yw'ch gwefan yn “example.com,” a'ch bod am gael mynediad i'r porthiant ar gyfer y categori “Awgrymiadau Marchnata”, yr URL fyddai:
http://example.com/category/marketing-tips/feed/
Gall defnyddwyr fewnbynnu'r URL hwn yn eu porwr gwe neu ddefnyddio cymwysiadau darllenwyr porthiant i danysgrifio i'r porthiant categori-benodol. Bydd yr URL hwn yn rhoi'r porthiant RSS neu Atom iddynt ar gyfer y categori a ddewiswyd, gan ei gwneud hi'n hawdd iddynt gael y wybodaeth ddiweddaraf am gynnwys y categori hwnnw.