Cum să adăugați un flux RSS personalizat în tabloul de bord WordPress

Adăugați un flux RSS personalizat în tabloul de bord WordPress

Internetul este plin de resurse grozave și este greu să arunci o privire asupra tuturor. Desigur, există Twitter pentru a urmări tendințele sau software-urile pentru cititorul RSS, dar sunteți foarte ocupat, uneori este enervant să deschidă 20 de programe software în același timp. Acesta este motivul pentru care am decis să folosesc tabloul de bord WordPress ca o platformă globală pentru a avea acces rapid la aceste fluxuri. Un exemplu pe care vreau să-l împărtășesc astăzi este modul de a crea un metabox RSS personalizat în tabloul de bord WordPress.


Iată rezultatul final al ceea ce vom crea:

add-un-personalizat RSS-dashboard-METABOX

Pasul 1: Pluginul

Pentru a adăuga acest metabox trebuie să creăm un plugin. Așadar, creați pur și simplu un nou folder numit „my-dashboard-metaboxes” în wp-content / plugins / și în noul folder creați un fișier numit my-dashboard-metaboxes.php. Acest fișier va fi principalul fișier plugin. Deschide-l în editorul principal. Codul de mai jos este codul care va genera pluginul. Nimic cu adevărat complex aici:

Pasul 2: Înregistrarea Metabox

Acum că avem un plugin gol (mă refer la un plugin care nu face nimic), trebuie să înregistrăm cel puțin un metabox care să fie afișat pe tabloul de bord WordPress. Pentru a face acest lucru, trebuie să creăm o nouă funcție care să conecteze „wp_dashboard_setup”Cârlig. Să numim această funcție „rc_mdm_register_widgets ()”. În cadrul acestei funcții, trebuie să redăm WordPress pe care dorim să adăugăm un nou metabox, iar acesta este scopul „wp_add_dashboard_widget ()”Funcție. Această funcție acceptă 4 parametri:

1 - $ widget_id (integer) (necesar) o lamă de identificare pentru widget. Aceasta va fi folosită ca clasă css și cheie în gama de widget-uri.
Implicit: Niciuna

2 - nume widget $ (string) (obligatoriu) acesta este numele pe care îl va afișa widgetul în titlul său.
Implicit: Niciuna

3 - $ callback (string) (obligatoriu) Numele unei funcții pe care o creați, care va afișa conținutul real al widgetului.
Implicit: Niciuna

4 - $ control_callback (string) (opțional) Numele unei funcții pe care o creați, care va gestiona trimiterea formularelor de opțiuni de widget (configurare) și va afișa, de asemenea, elementele de formular.

Ceea ce este important aici este al treilea parametru, este cel care definește funcțiile care vor fi încărcate în metabox. În acest exemplu se numește „rc_mdm_create_my_rss_box ()”.

/ **
* Înregistrați toate metabox-urile de bord
*
* @acces public
* @since 1.0
* @return nul
* /

function rc_mdm_register_widgets () {
global $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Feed-urile mele RSS', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Pasul 3: Conținutul de Metabox

Dacă activați pluginul și accesați tabloul de bord WordPress, ar trebui să vedeți un nou metabox gol. Acum trebuie să completăm conținutul său. Lucrurile importante pentru această funcție sunt includerea fișierului integrat WordPress „feed.php” pentru a putea utiliza funcția „fetch_feed ()”. Rețineți că folosim „fetch_feed ()” deoarece „fetch_rss ()”, „get_rss ()” și „wp_rss ()” sunt depășite. Pentru o singură dată, am inclus direct toate comentariile în cadrul codului, dar aș dori să vă atrag atenția asupra unor funcții frumoase pe care le folosesc în cadrul funcției metabox.

În primul rând există „FETCH_FEED ()”Funcție. Acesta este folosit pentru a obține și analiza conținutul feedurilor. Această funcție utilizează funcția Clasa SimplePie, astfel încât să puteți profita de aproape toate funcțiile incluse în acesta.

Avem apoi funcția „human_time_diff ()” care este utilizată pentru afișarea orei ca „human_time_diff ()„, De exemplu, pentru a afișa ceva de genul„ acum 2 ore ”,„ acum 4 zile ”etc… este o funcție WordPress.

Și în cele din urmă avem „wp_html_excerpt ()”Pentru a scurta conținutul fiecărui feed.

Toate celelalte funcții cunosc bine funcțiile WordPress sau sunt incluse în clasa Simple Pie.

Iată codul:

/ **
* Creează metabox RSS
*
* @acces public
* @since 1.0
* @return nul
* /

function rc_mdm_create_my_rss_box () {

// Obțineți fluxuri RSS
include_once (ABSPATH. WPINC. '/feed.php');

// Lista fluxurilor mele (adăugați URL-urile dvs. de fluxuri RSS)
$ my_feeds = tablou (
'Http://feeds.feedburner.com/FSAllJobs',
'Http://www.wphired.com/feed/?post_type=job_listing'
);

// Buclă prin feeduri
foreach ($ my_feeds ca $ feed):

// Obțineți un obiect de alimentare SimplePie de la sursa de alimentare specificată.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Verifică dacă obiectul este creat corect
// Cifrați câte articole totale există și alegeți o limită
$ maxitems = $ rss-> get_item_quantity (3);

// Construiți o serie de elemente, începând cu elementul 0 (primul element).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Obține titlu RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '„;
endif;

// Afișați containerul
ecou '
„; ecou ''$ Rss_title.'„; ecou '
„; // Începe listarea articolelor în
    etichetă ecou '
      „; // Verificați articolele if ($ maxitems == 0) { ecou '
    • '.__ (' Niciun articol ',' rc_mdm '). ".
    • „; } altfel { // Buclați fiecare articol de alimentare și afișați fiecare articol ca un hyperlink. foreach ($ rss_items ca $ articol): // Linia de necomentare de mai jos pentru a afișa data non-umană // $ item_date = $ item-> get_date (get_option ('data_format'). '@' .get_option ('time_format')); // Obțineți data omului (comentați dacă doriți să utilizați data non-umană) $ item_date = uman_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' acum ',' rc_mdm '); // Începeți să afișați conținutul articolului în cadrul unei
    • etichetă ecou '
    • „; // crea link link ecou 'get_permalink ()). '"title ="'. $ item_date. '">'; // Obține titlul articolului echo esc_html ($ item-> get_title ()); ecou '„; // Data afișării ecou ' 'Item_date $.'
      „; // Obțineți conținutul articolului $ content = $ item-> get_content (); // Scurtați conținutul $ content = wp_html_excerpt ($ conținut, 120). '[...]'; // Afișarea conținutului ecou $ conținut; // Sfârșit
    • etichetă ecou '
    • „; endforeach; } // Sfârșit
        etichetă ecou '
„; endforeach; // Sfârșitul feed-ului predicției }

La linia 15 există un tablou în care puteți pune cât mai multe fluxuri doriți. De asemenea, puteți defini numărul fiecărui element de alimentare pe care să îl afișați pe linia 27. În sfârșit, pe linia 50 și 54 puteți alege să afișați o dată umană sau o dată normală. Depinde de tine.

Concluzie

Ok, așa că am creat un metabox simplu, dar acum aveți elementele de bază pentru a vă crea propriile metabozi cu propriul conținut. De asemenea, puteți elimina metaboxii WordPress implicite și pentru a înțelege pe deplin tabloul de bord pentru API-urile de bord, te încurajez, ca întotdeauna, să arunci o privire asupra Codexul.

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