Jak přidat vlastní RSS kanál do Dashboardu WordPress

Přidejte vlastní kanál RSS do řídicího panelu WordPress

Internet je plný skvělých zdrojů a je těžké se na všechno podívat. Samozřejmě je tu Twitter, který sleduje tendence, nebo software pro čtení RSS, ale jste jako já velmi zaneprázdněni, že je někdy nepříjemné mít otevřeno 20 softwarů současně. Proto jsem se rozhodl použít svůj dashboard WordPress jako globální platformu pro rychlý přístup k těmto zdrojům. Příklad, který chci dnes sdílet, je, jak vytvořit vlastní RSS metabox v řídicím panelu WordPress.


Zde je konečný výsledek toho, co vytvoříme:

add-a-custom-rss-dashboard-metabox

Krok 1: Plugin

Chcete-li přidat tento metabox, musíme si vytvořit plugin. Takže jednoduše vytvořte novou složku s názvem „my-dashboard-metaboxes“ v wp-content / plugins / a v nové složce vytvořte soubor s názvem my-dashboard-metaboxes.php. Tento soubor bude hlavním souborem pluginu. Otevřete jej do svého hlavního editoru. Níže uvedený kód je kód, který bude generovat plugin. Nic opravdu složitého zde:

Krok 2: Registrace metaboxu

Nyní, když máme prázdný plugin (myslím plugin, který nedělá nic), musíme zaregistrovat alespoň metabox, který bude zobrazen na dashboardu WordPress. Abychom to mohli udělat, musíme vytvořit novou funkci, která spojí „wp_dashboard_setup“Háček. Nazvěme tuto funkci „rc_mdm_register_widgets ()“. V rámci této funkce potřebujeme telle WordPress, že chceme přidat novou metabox, a to je cílem „wp_add_dashboard_widget ()”Funkce. Tato funkce přijímá 4 parametry:

1 - $ widget_id (integer) (povinné) identifikační slug pro váš widget. Toto bude použito jako jeho třída css a jeho klíč v poli widgetů.
Výchozí: Žádné

2 - $ widget_name (řetězec) (povinné) je to název, který se zobrazí v záhlaví.
Výchozí: Žádné

3 - $ zpětné volání (string) (povinné) Název funkce, kterou vytvoříte, která zobrazí skutečný obsah widgetu.
Výchozí: Žádné

4 - $ control_callback (string) (volitelné) Název funkce, kterou vytvoříte a která bude zpracovávat odesílání formulářů s možnostmi nastavení (konfigurace) a zobrazí také prvky formuláře.

Důležité je zde třetí parametr, to je ten, který definuje funkce, které budou načteny do metaboxu. V tomto příkladu se nazývá „rc_mdm_create_my_rss_box ()“.

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

function rc_mdm_register_widgets () {
globální $ 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

Pokud aktivujete plugin a přejdete na hlavní panel WordPress, měla by se zobrazit nová prázdná metabox. Nyní musíme vyplnit jeho obsah. Důležité pro tuto funkci je zahrnout zabudovaný soubor „feed.php“ WordPress, aby bylo možné používat funkci „fetch_feed ()“. Upozorňujeme, že používáme „fetch_feed ()“, protože „fetch_rss ()“, „get_rss ()“ a „wp_rss ()“ jsou zastaralé. Prozatím jsem přímo zahrnul všechny komentáře do kódu, ale rád bych vás upozornil na některé pěkné funkce, které používám uvnitř funkce metabox.

Nejprve je tu „fetch_feed ()”Funkce. Tento se používá k získání a analýze obsahu zdrojů. Tato funkce používá Třída SimplePie, takže můžete využít téměř všechny funkce v něm obsažené.

Potom máme funkci „human_time_diff ()“, která se používá k zobrazení času jako „human_time_diff ()„Například pro zobrazení něčeho, jako„ před 2 hodinami “,„ před 4 dny “atd.… Je to funkce WordPress.

A konečně máme „wp_html_excerpt ()“, Aby se zkrátil každý obsah zdroje.

Všechny ostatní funkce jsou dobře známy funkce WordPress nebo jsou zařazeny do třídy Simple Pie.

Zde je kód:

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

funkce rc_mdm_create_my_rss_box () {

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

// Seznam mých zdrojů (přidejte vlastní adresy URL zdrojů RSS)
$ my_feeds = array (
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/?post_type=job_listing'
);

// Smyčka přes kanály
foreach ($ my_feeds jako $ feed):

// Získat objekt zdroje SimplePie ze zadaného zdroje zdroje.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Kontroluje, zda je objekt vytvořen správně
// Zjistěte, kolik položek je celkem a zvolte limit
$ maxitems = $ rss-> get_item_quantity (3);

// Sestavte pole všech položek, počínaje prvkem 0 (první prvek).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Získejte RSS titul
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '';
endif;

// Zobrazit kontejner
ozvěna
'; ozvěna'. $ rss_title.''; ozvěna
'; // Spouští výpis položek v rámci
    štítek ozvěna
      '; // Zkontrolujte položky if ($ maxitems == 0) { ozvěna
    • '.__ (' Žádná položka ',' rc_mdm ').'.
    • '; } jinde { // Opakování jednotlivých položek zdroje a zobrazení každé položky jako hypertextového odkazu. foreach ($ rss_items jako $ item): // Řádek nekompatibility níže pro zobrazení jiného než lidského data // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Získat lidské datum (komentář, pokud chcete použít jiné než lidské datum) $ item_date = human_time_diff ($ item-> get_date ('U'), aktuální_time ('timestamp')). ' '.__ (' před ',' rc_mdm '); // Začněte zobrazovat obsah položky v rámci
    • štítek ozvěna
    • '; // vytvořit odkaz na položku ozvěnaget_permalink ()). '"title ="'. $ item_date. '">'; // Získání názvu položky echo esc_html ($ item-> get_title ()); ozvěna'; // Zobrazit datum ozvěna '. $ item_date.'
      '; // Získat obsah položky $ content = $ item-> get_content (); // Zkraťte obsah $ content = wp_html_excerpt ($ content, 120). '[...]'; // Zobrazení obsahu echo $ content; // Konec
    • štítek ozvěna
    • '; endforeach; } // Konec
        štítek ozvěna
'; endforeach; // Ukončení podávání foreach }

Na řádku 15 je pole, do kterého můžete vložit tolik zdrojů, kolik chcete. Můžete také definovat počet jednotlivých položek zdroje, které se mají zobrazit v řádku 27. Nakonec v řádcích 50 a 54 můžete zvolit zobrazení lidského nebo normálního data. Je to na tobě.

Závěr

Ok, takže jsme vytvořili jednoduchý metabox, ale nyní máte základy k vytvoření vlastních metaboxů s vlastním obsahem. Můžete také odebrat výchozí metaboxy WordPress a získat úplné porozumění API widgetů dashboardu, Doporučuji vám, jako vždy, podívat se na kodex.

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