Kako dodati prilagođeni RSS feed na nadzornu ploču WordPress-a

Dodajte prilagođeni RSS feed na nadzornu ploču WordPress-a

Internet je pun resursa i teško je pregledati sve. Naravno da na Twitteru možete paziti na tendencije ili softverske programe RSS čitača, ali vi ste poput mene vrlo zaposleni, ponekad je neugodno istovremeno otvoriti 20 softvera. Zbog toga sam odlučio koristiti svoju WordPress nadzornu ploču kao globalnu platformu za brzi pristup tim feedovima. Primjer koji danas želim podijeliti je kako stvoriti prilagođeni RSS metabox na WordPress nadzornoj ploči.


Evo konačnog rezultata onoga što ćemo stvoriti:

dodati-a-custom-RSS-armaturnoj METABOX

1. korak: dodatak

Da bismo dodali ovaj metabox, moramo stvoriti dodatak. Dakle, jednostavno stvorite novu mapu koja se zove “moja-nadzorna ploča-metaboks” u wp-content / dodacima /, a unutar nove mape stvorite datoteku koja se zove my-dashboard-metaboxes.php. Ova će datoteka biti glavna datoteka dodatka. Otvorite ga u svom glavnom uređivaču. Dolje je kôd koji će generirati dodatak. Ovdje ništa zapravo nije složeno:

Korak 2: Registracija Metaboxa

Sada kada imamo prazan dodatak (mislim na dodatak koji ništa ne radi), moramo registrirati barem metabox kako bi se prikazao na nadzornoj ploči WordPress-a. Da bismo to učinili, moramo stvoriti novu funkciju koja će zakačiti „wp_dashboard_setup"Kuka. Nazovimo ovu funkciju "rc_mdm_register_widgets ()". Unutar ove funkcije moramo reći WordPress-u da želimo dodati novi metabox i to je ciljwp_add_dashboard_widget ()"Funkcija. Ova funkcija prihvaća 4 parametra:

1 - $ widget_id (integer) (obavezno) identifikacijskog puža vašeg widgeta. Ovo će se koristiti kao njegova css klasa i ključ u nizu widgeta.
Zadano: Nijedno

2 - $ widget_name (string) (obavezno) ovo je ime koje će vaš widget prikazati u svom naslovu.
Zadano: Nijedno

3 - povratni poziv $ (string) (obavezno) Naziv funkcije koju stvorite koja će prikazati stvarni sadržaj vašeg widgeta.
Zadano: Nijedno

4 - $ control_callback (string) (izborno) Naziv funkcije koju stvorite koja će se baviti predajom obrazaca opcija widgeta (konfiguracija), a također će prikazati elemente obrasca.

Ono što je ovdje važno je treći parametar, on je taj koji definira funkcije koje će se učitati u metabox. U ovom primjeru naziva se "rc_mdm_create_my_rss_box ()".

/ **
* Registrirajte sve metaboxe nadzorne ploče
*
* @ pristup javnosti
* @since 1.0
* @return void
* /

funkcija rc_mdm_register_widgets () {
globalni $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Moji RSS feedovi', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
dodavanje ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Korak 3: Sadržaj Metaboxa

Ako aktivirate dodatak i otvorite svoju WordPress nadzornu ploču, trebali biste vidjeti novi prazan metabox. Sada moramo ispuniti njegov sadržaj. Važne stvari u ovoj funkciji su uključiti WordPress ugrađenu "feed.php" datoteku koja će biti dopuštena za upotrebu funkcije "fetch_feed ()". Imajte na umu da koristimo "fetch_feed ()", jer su "fetch_rss ()", "get_rss ()" i "wp_rss ()" zastarjeli. Jednom sam sve komentare unutar koda uključio izravno, ali želio bih vam skrenuti pozornost na neke lijepe značajke koje koristim u funkciji metabox.

Prije svega, postojiFETCH_FEED ()"Funkcija. Ova se upotrebljava za dobivanje i analizu sadržaja feeda. Ova funkcija koristi SimplePie klasa, tako da možete iskoristiti gotovo sve funkcije koje su u njemu sadržane.

Zatim imamo funkciju "human_time_diff ()" koja se koristi za prikazivanje vremena kao "human_time_diff ()", Na primjer za prikazivanje nečega poput" prije 2 sata "," prije 4 dana "itd. ... to je WordPress funkcija.

I konačno imamo "wp_html_excerpt ()"Da biste skratili svaki sadržaj feeda.

Sve ostale funkcije dobro su poznate WordPress funkcije ili su uključene u klasu Simple Pie.

Evo koda:

/ **
* Stvara RSS metabox
*
* @ pristup javnosti
* @since 1.0
* @return void
* /

funkcija rc_mdm_create_my_rss_box () {

// Dohvati RSS feed (e)
include_once (ABSPATH. WPINC. '/feed.php');

// Moj popis sažetaka (dodajte svoje vlastite URL feedove)
$ my_feeds = niz (
'Http://feeds.feedburner.com/FSAllJobs',
'Http://www.wphired.com/feed/?post_type=job_listing'
);

// Prelazite kroz feedove
foreach ($ my_feeds kao $ feed):

// Nabavite objekt feeda SimplePie iz navedenog izvora feeda.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Provjerava da li je objekt pravilno stvoren
// Utvrdite koliko ima ukupno stavki i odaberite ograničenje
$ maxitems = $ rss-> get_item_quantity (3);

// Napravite niz svih stavki, počevši od elementa 0 (prvi element).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Dohvati RSS naslov
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '„;
završi ako;

// Prikažite spremnik
jeka '
„; jeka ''. $ Rss_title.„; jeka '
„; // Počinje s popisom stavki unutar
    označiti jeka '
      „; // Provjera predmeta ako je ($ maxitems == 0) { jeka '
    • '.__ (' Nema stavke ',' rc_mdm ').'.
    • „; } else { // Pregledajte svaku stavku feeda i prikažite svaku stavku kao hipervezu. foreach ($ rss_items kao $ item): // Red za komentiranje u nastavku za prikaz ne-ljudskog datuma // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Dohvati datum čovjeka (komentiraj ako želiš koristiti datum koji nije čovjek) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' prije ',' rc_mdm '); // Započnite prikazivanje sadržaja predmeta unutar
    • označiti jeka '
    • „; // stvoriti vezu predmeta jeka 'get_permalink ()). '"title ="'. $ item_date. '">'; // Dohvati naslov predmeta echo esc_html ($ item-> get_title ()); jeka '„; // Datum prikazivanja jeka ' '. $ Item_date.
      „; // Dohvati sadržaj predmeta $ content = $ item-> get_content (); // Skratite sadržaj $ content = wp_html_excerpt ($ sadržaj, 120). '[...]'; // Prikazivanje sadržaja echo $ sadržaja; // Kraj
    • označiti jeka '
    • „; endforeach; } // Kraj
        označiti jeka '
„; endforeach; // Završi feed foreach }

U retku 15 nalazi se niz u koji možete staviti onoliko feedova koliko želite. Možete odrediti i broj svih stavki feeda za prikaz u retku 27. Konačno u retcima 50 i 54 možete odabrati prikazivanje ljudskog datuma ili uobičajenog datuma. Na tebi je.

Zaključak

Ok, tako da smo stvorili jednostavan metabox, ali sada imate osnove za stvaranje vlastitih metaboxa sa vlastitim sadržajem. Također možete ukloniti zadane WordPress metaboxe i potpuno ih razumjeti API widgeta na nadzornoj ploči, Ohrabrujem vas, kao i uvijek, da pogledate kodeks.

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