Cum să creați feeduri RSS personalizate în WordPress

WordPress este livrat cu fluxuri RSS implicite integrate. Puteți regla feedurile implicite adăugând conținut personalizat la Feed-urile dvs. RSS sau chiar adăugând o miniatură de postare la feed-urile dvs. RSS. Feed-urile implicite RSS și Atom sunt suficiente pentru majoritatea utilizatorilor, dar este posibil să doriți să creați un flux RSS personalizat pentru livrarea unui anumit tip de conținut. În acest articol, vă vom arăta cum puteți crea fluxuri RSS personalizate în WordPress.


Rețineți că acest tutorial nu este destinat utilizatorilor WordPress la nivel de începător. Dacă sunteți începători și mai doriți să încercați, atunci faceți acest lucru la o instalare locală.

Ca întotdeauna, trebuie să creați o copie de rezervă completă a site-ului dvs. WordPress înainte de a face modificări majore la un site web live.

Acestea fiind spuse, haideți să începem cu primul dvs. flux RSS personalizat în WordPress.

Să presupunem că doriți să creați un nou flux RSS care afișează doar următoarele informații:

  • Titlu
  • Legătură
  • Data publicării
  • Autor
  • Extras

Primul lucru pe care trebuie să îl faceți este să creați noul flux RSS în fișierul dvs. theme.php sau într-un plugin specific site-ului:

add_action (‘init’, ‘customRSS’);
function customRSS () {
add_feed (‘feedname’, ‘customRSSFunc’);
}

Codul de mai sus declanșează funcția personalizată, care adaugă feedul. Funcția add_feed are două argumente, nume de alimentare și o funcție de apelare inversă. Numele de alimentare va alcătui noul dvs. URL url yourdomain.com/feed/feedname, iar funcția de apelare va fi apelată pentru a crea de fapt feedul. Notează numele feed-ului, deoarece vei avea nevoie mai târziu de acest lucru.

După ce ați inițializat fluxul, va trebui să creați funcția de apelare pentru a produce fluxul necesar, folosind următorul cod în fișierul funcției dvs. tema.php sau într-un plugin specific site-ului:

function customRSSFunc () {
get_template_part (‘rss’, ‘feedname’);
}

Codul de mai sus folosește funcția get_template_part pentru a face legătura cu un fișier șablon separat, cu toate acestea puteți plasa codul RSS direct în funcție. Folosind get_template_part, putem păstra funcționalitatea separată de aspect. Funcția get_template_part are două argumente, slug și nume, care vor căuta un fișier șablon cu numele în formatul următor, începând cu fișierul din partea de sus (dacă nu găsește primul, va trece la al doilea , si asa mai departe):

  1. wp-content / teme / copil / RSS-feedname.php
  2. wp-content / teme / părinte / RSS-feedname.php
  3. wp-content / teme / copil / rss.php
  4. wp-content / teme / părinte / rss.php

În scopul acestui tutorial, este mai bine să setați slugul la tipul de alimentare pe care îl creați (în acest caz: rss), iar numele la numele de alimentare configurat anterior.

După ce i-ai spus WordPress să caute șablonul de feed, va trebui să-l creezi. Codul de mai jos va produce aspectul pentru feed cu informațiile enumerate mai devreme. Salvați acest fișier în folderul dvs. de temă ca fișierul de șablon slug-name.php configurat în funcția get_template_part.

<?php
/ **
* Nume șablon: șablon RSS personalizat – nume de feed
* /
$ postCount = 5; // Numărul de postări afișate în flux
$ posts = query_posts (‘showposts =’. $ postCount);
antet (‘Content-Type:’ .feed_content_type (‘rss-http’). ‘; charset =’. get_option (‘blog_charset’), true);
ecou ‘<?versiunea xml ="1.0" Codificare ="’.Get_option ( ‘blog_charset’).’"?”>„;
?>
>

<?php bloginfo_rss (‘nume’); ?> – A hrani
" rel ="de sine" tip ="application / rss + xml" />
<?php bloginfo_rss (‘url’) ?>
<?php bloginfo_rss (‘descriere’) ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_lastpostmodified (‘GMT’), false); ?>
<?php echo get_option (‘rss_language’); ?>
<?php echo apply_filters (‘rss_update_period’, ‘oră’); ?>
<?php echo apply_filters (‘rss_update_frequency’, ‘1’); ?>
<?php do_action (‘rss2_head’); ?>
<?php while (are_posts ()): the_post (); ?>

<?php the_title_rss (); ?>
<?php the_permalink_rss (); ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_post_time (‘Y-m-d H: i: s’, true), false); ?>
<?php the_author (); ?>
<?php the_guid (); ?>

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    [ware_item id=87][/ware_item]
    Like this post? Please share to your friends:
    Adblock
    detector
    map