Kaip pridėti pasirinktinį RSS tiekimą „WordPress“ informacijos suvestinėje

Pridėkite tinkintą RSS tiekimą „WordPress“ informacijos suvestinėje

Internetas yra puikus šaltinis ir sunku viską apžiūrėti. Žinoma, yra „Twitter“, kad stebėtume tendencijas, ar RSS skaitymo programinę įrangą, tačiau jūs, kaip aš, esu labai užimtas, kartais erzina, jei vienu metu atidaroma 20 programinių programų. Štai kodėl nusprendžiau naudoti savo „WordPress“ informacijos suvestinę kaip visuotinę platformą, kad galėčiau greitai pasiekti tuos sklaidos kanalus. Pavyzdys, kuriuo noriu pasidalinti šiandien, yra tai, kaip „WordPress“ prietaisų skydelyje sukurti tinkintą RSS meta dėžutę.


Tai yra galutinis rezultatas to, ką ketinsime sukurti:

add-a-custom-rss-informacijos suvestinė-meta dėžutė

1 veiksmas: papildinys

Norėdami pridėti šią meta dėžutę, turime sukurti papildinį. Taigi tiesiog sukurkite naują aplanką pavadinimu „my-dashboard-metaboxes“ wp-content / plugins / ir naujame aplanke sukurkite failą, vadinamą my-dashboard-metaboxes.php. Šis failas bus pagrindinis įskiepio failas. Atidarykite jį pagrindiniame redaktoriuje. Žemiau yra kodas, kuris sugeneruos papildinį. Čia nėra nieko labai sudėtinga:

2 veiksmas: „Metabox“ registravimas

Dabar, kai turime tuščią papildinį (turiu omenyje papildinį, kuris nieko nedaro), turime užregistruoti bent meta dėžutę, kuri bus rodoma „WordPress“ prietaisų skydelyje. Norėdami tai padaryti, turime sukurti naują funkciją, kuri „wp_dashboard_setup“Kabliukas. Pavadinkime šią funkciją „rc_mdm_register_widgets ()“. Vykdydami šią funkciją, turime pasakyti „WordPress“, kad norime pridėti naują meta dėžutę, ir tai yra „wp_add_dashboard_widget ()" funkcija. Ši funkcija priima 4 parametrus:

1 - $ widget_id (sveikasis skaičius) (būtinas) jūsų valdiklio identifikuojantis šliužas. Tai bus naudojama kaip jos CSS klasė ir raktas valdiklių masyve.
Numatytasis: nėra

2 - $ valdiklio_pavadinimas (eilutė) (būtina) tai yra vardas, kurį jūsų valdiklis parodys antraštėje.
Numatytasis: nėra

3 - atgalinis grąžinimas (eilutė) (būtina) Sukurtos funkcijos, kuri parodys tikrąjį jūsų valdiklio turinį, pavadinimas.
Numatytasis: nėra

4 - $ kontrolinis atšaukimas (eilutė) (pasirenkama) Jūsų sukurtos funkcijos, kuri tvarkys valdiklio parinkčių (konfigūracijos) formų pateikimą ir taip pat parodys formos elementus, pavadinimas.

Svarbus yra trečiasis parametras, jis apibrėžia funkcijas, kurios bus įkeltos į meta dėžutę. Šiame pavyzdyje jis vadinamas „rc_mdm_create_my_rss_box ()“.

/ **
* Užregistruokite visas prietaisų skydelio meta dėžutes
*
* @ prieiga visuomenei
* @since 1.0
* @atsukti negalioja
* /

funkcija rc_mdm_register_widgets () {
globalios $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Mano RSS kanalai', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

3 žingsnis: „Metabox“ turinys

Jei suaktyvinsite papildinį ir eisite į savo „WordPress“ prietaisų skydelį, turėtumėte pamatyti naują tuščią meta dėžutę. Dabar turime užpildyti jo turinį. Svarbus šios funkcijos dalykas yra įtraukti „WordPress“ integruotą „feed.php“ failą, kad būtų leista naudoti funkciją „fetch_feed ()“. Atminkite, kad mes naudojame „fetch_feed ()“, nes „fetch_rss ()“, „get_rss ()“ ir „wp_rss ()“ nebenaudojami. Kažkada visus komentarus tiesiogiai įtraukiau į kodą, tačiau norėčiau atkreipti jūsų dėmesį į keletą malonių funkcijų, kurias naudoju „metabox“ funkcijos viduje..

Visų pirma, yra „fetch_feed ()" funkcija. Tai naudojama sklaidos kanalų turiniui gauti ir analizuoti. Ši funkcija naudoja „SimplePie“ klasė, taigi galite pasinaudoti beveik visomis jame esančiomis funkcijomis.

Tada turime funkciją „human_time_diff ()“, kuri naudojama rodyti laiką kaip „human_time_diff ()„Pavyzdžiui, norint parodyti ką nors, pvz.,„ Prieš 2 valandas “,„ prieš 4 dienas “ir tt ... tai„ WordPress “funkcija.

Ir pagaliau mes turime „wp_html_excerpt ()“, Kad sutrumpintumėte kiekvieno sklaidos kanalo turinį.

Visos kitos funkcijos yra gerai žinomos „WordPress“ funkcijos arba yra įtrauktos į „Paprastų pyragų“ klasę.

Štai kodas:

/ **
* Sukuria RSS meta dėžutę
*
* @ prieiga visuomenei
* @since 1.0
* @atsukti negalioja
* /

funkcija rc_mdm_create_my_rss_box () {

// Gaukite RSS kanalą (-us)
include_once (ABSPATH. WPINC. '/feed.php');

// Mano kanalų sąrašas (pridėkite savo RSS kanalų URL)
$ my_feeds = masyvas (
„http://feeds.feedburner.com/FSAllJobs“,
„http://www.wphired.com/feed/?post_type=job_listing“
);

// Linija per kanalus
foreach ($ my_feeds kaip $ feed):

// Gaukite „SimplePie“ sklaidos kanalo objektą iš nurodyto informacijos šaltinio.
$ rss = fetch_feed ($ tiekimas);
if (! is_wp_error ($ rss)): // Patikrina, ar objektas sukurtas teisingai
// Išsiaiškinkite, kiek iš viso yra daiktų, ir pasirinkite limitą
$ maxitems = $ rss-> get_item_quantity (3);

// Sukurkite visų elementų masyvą, pradedant nuo elemento 0 (pirmasis elementas).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Gaukite RSS pavadinimą
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '';
endif;

// Parodykite konteinerį
aidėti '
'; aidėti ''. $ rss_title.''; aidėti '
'; // pradeda elementų sąrašą
    žyma aidėti '
      '; // Patikrinkite elementus if ($ maxitems == 0) { aidėti '
    • '.__ (' Nėra elemento ',' rc_mdm ').'.
    • '; } Kitas { // Peržvelkite kiekvieną sklaidos kanalo elementą ir parodykite kiekvieną elementą kaip hipersaitą. foreach ($ rss_items kaip $ elementas): // Žemiau esanti nekommentavimo eilutė, kurioje būtų rodoma ne žmogaus data // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Gaukite žmogaus pasimatymą (pakomentuokite, jei norite naudoti ne žmogaus pasimatymą) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' atgal ',' rc_mdm '); // Pradėkite rodyti elemento turinį
    • žyma aidėti '
    • '; // sukurti elemento saitą aidėti 'get_permalink ()). '"title ="'. $ item_date. '">'; // Gaukite prekės pavadinimą echo esc_html ($ element-> get_title ()); aidėti ''; // Parodymo data aidėti ' '. $ item_date.'
      '; // Gaukite prekės turinį $ content = $ item-> get_content (); // Sutrumpinkite turinį $ content = wp_html_excerpt ($ content, 120). „[...]“; // Rodyti turinį echo $ turinys; // Galas
    • žyma aidėti '
    • '; priešakinis žodis; } // Galas
        žyma aidėti '
'; priešakinis žodis; // Baigti įžvalgų pašarą }

15 eilutėje yra masyvas, kuriame galite įdėti tiek informacijos, kiek norite. Taip pat galite apibrėžti kiekvieno sklaidos kanalo elemento skaičių, kurį reikia rodyti 27 eilutėje. Pagaliau 50 ir 54 eilutėse galite pasirinkti rodyti žmogaus datą arba įprastą datą. Viskas priklauso nuo tavęs.

Išvada

Gerai, kad sukūrėme paprastą meta dėžutę, tačiau dabar jūs turite pagrindus, kaip sukurti savo meta dėžutes su savo turiniu. Taip pat galite pašalinti numatytąsias „WordPress“ meta dėžutes ir visiškai suprasti informacijos suvestinės valdiklių API, Aš raginu jus, kaip visada, pažvelgti į kodekas.

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