Ako pridať vlastný informačný kanál RSS do informačného panela WordPress

Pridajte vlastný informačný kanál RSS na informačný panel WordPress

Internet je plný skvelých zdrojov a je ťažké sa na všetko pozrieť. Samozrejme je tu Twitter, ktorý sleduje tendencie, alebo softvér na čítanie RSS, ale vy ste rovnako ako ja veľmi zaneprázdnení, niekedy je nepríjemné mať 20 softvérov otvorených súčasne. Z tohto dôvodu som sa rozhodol používať svoj informačný panel WordPress ako globálnu platformu, aby som mal k týmto kanálom rýchly prístup. Príkladom, ktorý chcem dnes zdieľať, je spôsob vytvorenia vlastného metaboxu RSS v informačnom paneli WordPress.


Toto je konečný výsledok toho, čo vytvoríme:

add-a-custom-RSS-dashboard-METABOX

Krok 1: Plugin

Ak chcete pridať tento metabox, musíme si vytvoriť doplnok. Jednoducho teda vytvorte nový priečinok s názvom „my-dashboard-metaboxes“ v súbore wp-content / plugins / a v novom priečinku vytvorte súbor s názvom my-dashboard-metaboxes.php. Tento súbor bude hlavným súborom doplnku. Otvorte ho do hlavného editora. Nižšie uvedený kód je kód, ktorý bude generovať doplnok. Tu nie je nič zložité:

Krok 2: Registrácia metaboxu

Teraz, keď máme prázdny doplnok (mám na mysli doplnok, ktorý nerobí nič), musíme zaregistrovať aspoň metabox, ktorý sa má zobraziť na informačnom paneli WordPress. Aby sme to dosiahli, musíme vytvoriť novú funkciu, ktorá bude závisieť od „wp_dashboard_setup”Hák. Túto funkciu nazveme „rc_mdm_register_widgets ()“. V rámci tejto funkcie potrebujeme telle WordPress, že chceme pridať nový metabox, a to je cieľom „wp_add_dashboard_widget ()“. Táto funkcia akceptuje 4 parametre:

1 - $ widget_id (celé číslo) (povinné) identifikačný znak pre váš widget. Použije sa ako trieda css a ako kľúč v poli widgetov.
Predvolená hodnota: Žiadna

2 - $ widget_name (string) (povinné) je to názov, ktorý sa zobrazí v nadpise vášho miniaplikácie.
Predvolená hodnota: Žiadna

3 - $ spätné volanie (string) (povinné) Názov funkcie, ktorú vytvoríte, ktorá zobrazí skutočný obsah miniaplikácie.
Predvolená hodnota: Žiadna

4 - $ control_callback (string) (voliteľné) Názov funkcie, ktorú vytvoríte a ktorá bude spracovávať odosielanie formulárov s voľbami widgetu (konfigurácia) a tiež zobrazí prvky formulára..

Tu je dôležitý tretí parameter, ktorý definuje funkcie, ktoré sa načítajú do metaboxu. V tomto príklade sa nazýva „rc_mdm_create_my_rss_box ()“.

/ **
* Zaregistrujte všetky metaboxy dashboardu
*
* @access public
* @ od 1.0
* @return neplatné
* /

function rc_mdm_register_widgets () {
globálne $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('My RSS Feeds', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Krok 3: Obsah metaboxu

Ak aktivujete doplnok a prejdete na informačný panel WordPress, mala by sa zobraziť nová prázdna metabox. Teraz musíme vyplniť jeho obsah. Dôležitou vecou pre túto funkciu je zahrnutie zabudovaného súboru „feed.php“ WordPress, aby bolo možné používať funkciu „fetch_feed ()“. Upozorňujeme, že používame „fetch_feed ()“, pretože „fetch_rss ()“, „get_rss ()“ a „wp_rss ()“ sú zastarané. Raz som zahrnul všetky komentáre priamo do kódu, ale chcel by som vás upozorniť na niektoré pekné funkcie, ktoré používam vo funkcii metabox.

Najprv sú tu „fetch_feed ()“. Tento sa používa na získanie a analýzu obsahu informačných kanálov. Táto funkcia používa Trieda SimplePie, takže môžete využiť takmer všetky funkcie, ktoré sú v nej obsiahnuté.

Potom máme funkciu „human_time_diff ()“, ktorá sa používa na zobrazenie času ako „human_time_diff ()„Napríklad na zobrazenie niečoho ako„ pred 2 hodinami “,„ pred 4 dňami “atď. Je to funkcia WordPress.

A nakoniec máme „wp_html_excerpt ()“, Aby sa skrátil každý obsah informačného kanála.

Všetky ostatné funkcie sú dobre známe funkcie WordPress alebo sú zahrnuté do triedy Simple Pie.

Tu je kód:

/ **
* Vytvorí metabox RSS
*
* @access public
* @ od 1.0
* @return neplatné
* /

function rc_mdm_create_my_rss_box () {

// Získajte RSS kanály
include_once (ABSPATH. WPINC. '/feed.php');

// Zoznam mojich kanálov (pridajte svoje vlastné adresy URL informačných kanálov RSS)
$ my_feeds = array (
'Http://feeds.feedburner.com/FSAllJobs',
'Http://www.wphired.com/feed/?post_type=job_listing'
);

// Slučka cez informačné kanály
foreach ($ my_feeds ako $ feed):

// Získajte objekt informačného kanála SimplePie zo zadaného zdroja informačného kanála.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Kontroluje, či je objekt vytvorený správne
// Zistite, koľko položiek je celkom a vyberte limit
$ maxitems = $ rss-> get_item_quantity (3);

// Zostavte pole všetkých položiek, počnúc prvkom 0 (prvý prvok).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Získajte názov RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). ',;
koniec Ak;

// Zobraziť kontajner
ozvena
,; ozvena'$ Rss_title.',; ozvena
,; // Spustí výpis položiek v rámci
    štítok ozvena
      ,; // Skontrolujte položky if ($ maxitems == 0) { ozvena
    • '.__ (' Žiadna položka ',' rc_mdm '). “.
    • ,; } else { // Obíďte jednotlivé položky informačného kanála a každú položku zobrazte ako hypertextový odkaz. foreach ($ rss_items ako $ item): // Riadok odkomentovania nižšie na zobrazenie dátumu iného ako ľudského pôvodu // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Získať ľudský dátum (komentár, ak chcete použiť iný ako ľudský dátum) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' pred ',' rc_mdm '); // Začať zobrazovať obsah položky v rámci
    • štítok ozvena
    • ,; // vytvoriť odkaz na položku ozvenaget_permalink ()). '"title ="'. $ item_date. '">'; // Získať názov položky echo esc_html ($ item-> get_title ()); ozvena,; // Zobraziť dátum ozvena '$ Item_date.'
      ,; // Získať obsah položky $ content = $ item-> get_content (); // Skráťte obsah $ content = wp_html_excerpt ($ content, 120). „[...]“; // Zobraziť obsah echo $ content; // Koniec
    • štítok ozvena
    • ,; endforeach; } // Koniec
        štítok ozvena
,; endforeach; // Ukončenie krmiva foreach }

V riadku 15 je pole, do ktorého môžete vložiť toľko informačných kanálov, koľko chcete. Môžete tiež definovať počet jednotlivých položiek informačného kanála, ktoré sa majú zobraziť v riadku 27. Nakoniec v riadkoch 50 a 54 môžete zvoliť zobrazenie ľudského dátumu alebo normálneho dátumu. Záleží len na vás.

záver

Ok, takže sme vytvorili jednoduchý metabox, ale teraz máte základy na vytvorenie vlastných metaboxov s vlastným obsahom. Môžete tiež odstrániť predvolené metaboxy WordPress a získať úplné pochopenie API pre widgety dashboardu, Odporúčam vám, ako vždy, pozrieť sa na kódex.

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