Egyéni RSS-hírcsatornák hozzáadása a WordPress irányítópulton

Adjon hozzá egyéni RSS-hírcsatornát a WordPress irányítópulthoz

Az Internet tele van nagy forrásokkal, és nehéz mindent átnézni. Természetesen van egy Twitter, amely szemmel tartja a tendenciákat, vagy az RSS-olvasó szoftverek, de te vagy olyan, mint én, nagyon elfoglalt, néha idegesítő, ha egyszerre 20 szoftvert nyit. Ezért döntöttem úgy, hogy a WordPress irányítópultját globális platformként használom, hogy gyorsan hozzáférhessek ezekhez a hírcsatornákhoz. Példa, amelyet ma meg szeretnék osztani, az, hogy hogyan hozhat létre egy egyedi RSS metaboxot a WordPress irányítópulton.


Íme a végső eredmény, amit létrehozunk:

add-a-saját-rss-műszerfal-METABOX

1. lépés: A bővítmény

A metabox hozzáadásához létre kell hoznunk egy plugint. Tehát egyszerűen hozzon létre egy új mappát, a „my-dashboard-metaboxes” néven, a wp-content / plugins / alatt, és az új mappán belül hozzon létre egy fájlt, a my-dashboard-metaboxes.php néven. Ez a fájl lesz a fő plugin-fájl. Nyissa meg a főszerkesztőben. Az alábbi kód a kódot fogja létrehozni, amely a plugint hozza létre. Semmi igazán bonyolult itt:

2. lépés: A Metabox regisztrálása

Most, hogy van egy üres bővítményünk (olyan pluginre gondolok, amely nem tesz semmit), regisztrálnunk kell legalább egy metaboxot, hogy megjelenjen a WordPress irányítópultján. Ehhez új funkciót kell létrehoznunk, amely a „wp_dashboard_setupHorog. Hívjuk ezt a funkciót „rc_mdm_register_widgets ()” -nek. Ezen a funkción belül el kell mondanunk a WordPress-nek, hogy új metaboxot akarunk hozzáadni, és ez a „wp_add_dashboard_widget ()”Funkció. Ez a funkció 4 paramétert fogad el:

1 - $ widget_id (egész szám) (kötelező) egy azonosító csiga a widget számára. Ezt css osztályként fogják használni, és kulcsként használják a kütyü tömbében.
Alapértelmezés: Nincs

2 - $ widget_name (karakterlánc) (kötelező) Ez a név jelenik meg a widget fejlécében.
Alapértelmezés: Nincs

3 - $ visszahívás (karakterlánc) (kötelező) A létrehozott funkció neve, amely megjeleníti a widget tényleges tartalmát.
Alapértelmezés: Nincs

4 - $ control_callback (karakterlánc) (opcionális) A létrehozott függvény neve, amely kezeli a widget opciók (konfiguráció) űrlapok benyújtását, és megjeleníti az űrlapelemeket.

A legfontosabb itt a harmadik paraméter, ez határozza meg a metaboxba betöltött funkciókat. Ebben a példában az úgynevezett „rc_mdm_create_my_rss_box ()”.

/ **
* Regisztrálja az összes műszerfal metaboxot
*
* @ hozzáférés nyilvános
* @since 1.0
* @ visszatérés érvénytelen
* /

rc_mdm_register_widgets függvény () {
globális $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Saját RSS-hírcsatornák', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

3. lépés: A Metabox tartalma

Ha bekapcsolja a beépülő modult, és eljut a WordPress irányítópultjára, akkor egy új üres metaboxot kell látnia. Most ki kell töltenünk annak tartalmát. Ennek a funkciónak a lényege, hogy a WordPress beépített „feed.php” fájlja belekerüljön a „fetch_feed ()” funkció használatához. Felhívjuk figyelmét, hogy a „fetch_feed ()” -t használjuk, mert a „fetch_rss ()”, „get_rss ()” és „wp_rss ()” elavult. Egyszerre közvetlenül az összes megjegyzést belefoglaltam a kódba, de szeretnék felhívni a figyelmet néhány szép funkcióra, amelyeket a metabox funkcióban használok..

Mindenekelőtt a „FETCH_FEED ()”Funkció. Ezt használják a hírcsatornák tartalmának beolvasására és elemzésére. Ez a funkció a SimplePie osztály, így kihasználhatja szinte az összes benne található funkciót.

Ezután megkapjuk az „human_time_diff ()” funkciót, amelyet az idő „human_time_diff ()“Például valami olyan megjelenítéséhez, mint„ 2 óra ezelőtt ”,„ 4 napja ”stb.… Ez egy WordPress funkció.

És végül:wp_html_excerpt ()”Az egyes takarmánytartalmak rövidítéséhez.

Az összes többi funkció jól ismeri a WordPress funkciókat, vagy bele van foglalva az Egyszerű pite osztályba.

Íme a kód:

/ **
* Létrehozza az RSS metaboxot
*
* @ hozzáférés nyilvános
* @since 1.0
* @ visszatérés érvénytelen
* /

rc_mdm_create_my_rss_box () funkció

// RSS-hírcsatornák letöltése
include_once (ABSPATH. WPINC. '/feed.php');

// Hírcsatornák listája (adjon hozzá saját RSS-hírcsatornák URL-jeit)
$ my_feeds = tömb (
'Http://feeds.feedburner.com/FSAllJobs',
'Http://www.wphired.com/feed/?post_type=job_listing'
);

// Hírcsatornák átvitele
foreach ($ my_feeds $ feedként):

// Szerezzen be egy SimplePie feed-objektumot a megadott feed-forrásból.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Ellenőrzi, hogy az objektum helyesen lett-e létrehozva
// Számolja ki, hogy hány elem van, és válassza ki a korlátozást
$ maxitems = $ rss-> get_item_quityity (3);

// Készítsen tömböt az összes elemből, kezdve a 0 elemmel (első elem).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// RSS cím beszerzése
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '„
endif;

// Jelenítse meg a tartályt
visszhang ”
„ visszhang ”'. $ Rss_title.„ visszhang ”
„ // Elemek felsorolását indítja el
    címke visszhang ”
      „ // Ellenőrizze az elemeket if ($ maxitems == 0) { visszhang ”
    • '.__ (' Nincs elem ',' rc_mdm ').'.
    • „ } más { // Húzza át az egyes feed elemeket, és jelenítse meg az egyes elemeket hiperhivatkozásként. foreach ($ rss_items $ tételként): // Az alábbi megjegyzés nélküli sor a nem emberi dátum megjelenítéséhez // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Kérjen emberi dátumot (megjegyzés, ha nem emberi dátumot akar használni) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' ago ',' rc_mdm '); // Elemeinek megjelenítésének elkezdése a
    • címke visszhang ”
    • „ // elem link létrehozása visszhang ”get_permalink ()). '"title ="'. $ item_date. '">'; // Az elem címe beolvasása echo esc_html ($ elem-> get_title ()); visszhang ”„ // Megjelenítés dátuma visszhang ” '. $ Item_date.
      „ // Töltse le az elem tartalmát $ content = $ item-> get_content (); // Rövidítse le a tartalmat $ content = wp_html_excerpt ($ content, 120). „[...]”; // Tartalom megjelenítése echo $ tartalom; // Vége
    • címke visszhang ”
    • „ endforeach; } // Vége
        címke visszhang ”
„ endforeach; // Vége az foreach feednek }

A 15. sorban van egy tömb, ahol annyi hírcsatornát helyezhet el, amennyit csak akar. Meghatározhatja az egyes hírcsatorna-elemek számát is, amelyet meg kell jeleníteni a 27. sorban. Végül az 50. és az 54. sorban választhat egy emberi dátumot vagy egy normál dátumot. Tőled függ.

Következtetés

Rendben, tehát létrehozott egy egyszerű metaboxot, de most megvan az alapja annak, hogy saját metaboxokat hozzon létre saját tartalommal. Távolíthatja el az alapértelmezett WordPress metaboxokat is, és teljes mértékben megértheti a műszerfal-kütyü API, arra buzdítom, hogy, mint mindig, nézzen meg a 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