Come aggiungere un feed RSS personalizzato nella dashboard di WordPress

Aggiungi un feed RSS personalizzato nella dashboard di WordPress

Internet è pieno di grandi risorse ed è difficile dare un’occhiata a tutto. Ovviamente c’è Twitter per tenere d’occhio le tendenze, o i software dei lettori RSS, ma tu sei come me molto impegnato, a volte è fastidioso avere 20 software aperti contemporaneamente. Ecco perché ho deciso di utilizzare la mia dashboard di WordPress come piattaforma globale per avere un rapido accesso a quei feed. Un esempio che voglio condividere oggi è come creare un metabox RSS personalizzato nella dashboard di WordPress.


Ecco il risultato finale di ciò che creeremo:

add-a-misura-rss-cruscotto-METABOX

Passaggio 1: il plug-in

Per aggiungere questo metabox dobbiamo creare un plugin. Quindi, basta creare una nuova cartella chiamata “my-dashboard-metaboxes” in wp-content / plugins / e all’interno della nuova cartella creare un file chiamato my-dashboard-metaboxes.php. Questo file sarà il file del plugin principale. Aprilo nel tuo editor principale. Il codice seguente è il codice che genererà il plug-in. Niente di veramente complesso qui:

Passaggio 2: registrazione di Metabox

Ora che abbiamo un plug-in vuoto (intendo un plug-in che non fa nulla), dobbiamo registrare almeno un metabox per essere visualizzato sulla dashboard di WordPress. Per fare ciò, dobbiamo creare una nuova funzione che agganci il "wp_dashboard_setup" gancio. Chiamiamo questa funzione "rc_mdm_register_widgets ()". All'interno di questa funzione dobbiamo dire a WordPress che vogliamo aggiungere un nuovo metabox, e questo è l'obiettivo del "wp_add_dashboard_widget ()" funzione. Questa funzione accetta 4 parametri:

1 - $ widget_id (intero) (richiesto) una lumaca identificativa per il tuo widget. Questo sarà usato come classe css e chiave nell'array di widget.
Predefinito: Nessuno

2 - $ widget_name (stringa) (richiesto) questo è il nome che il widget visualizzerà nella sua intestazione.
Predefinito: Nessuno

3 - $ callback (stringa) (richiesto) Il nome di una funzione creata che visualizzerà il contenuto effettivo del widget.
Predefinito: Nessuno

4 - $ control_callback (stringa) (opzionale) Il nome di una funzione creata che gestirà l'invio di moduli opzioni di configurazione (configurazione) e visualizzerà anche gli elementi del modulo.

Ciò che è importante qui è il terzo parametro, è quello che definisce le funzioni che verranno caricate nel metabox. In questo esempio si chiama "rc_mdm_create_my_rss_box ()".

/ **
* Registrare tutti i metabox del dashboard
*
* @Accesso pubblico
* @since 1.0
* @return void
* /

funzione rc_mdm_register_widgets () {
$ wp_meta_boxes globali;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('I miei feed RSS', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Passaggio 3: il contenuto di Metabox

Se attivi il plug-in e vai alla dashboard di WordPress, dovresti vedere un nuovo metabox vuoto. Ora dobbiamo riempire il suo contenuto. Le cose importanti per questa funzione sono includere il file "feed.php" incorporato di WordPress per poter usare la funzione "fetch_feed ()". Nota che stiamo usando "fetch_feed ()" perché "fetch_rss ()", "get_rss ()" e "wp_rss ()" sono obsoleti. Per una volta, ho incluso tutti i commenti direttamente nel codice, ma vorrei attirare la tua attenzione su alcune belle funzionalità che sto usando all'interno della funzione metabox.

Prima di tutto c'è il "fetch_feed ()" funzione. Questo è usato per ottenere e analizzare il contenuto dei feed. Questa funzione utilizza il Classe SimplePie, così puoi sfruttare quasi tutte le funzioni incluse in esso.

Abbiamo quindi la funzione "human_time_diff ()" che viene utilizzata per visualizzare l'ora come "human_time_diff ()", Ad esempio per visualizzare qualcosa come" 2 ore fa "," 4 giorni fa "ecc ... è una funzione di WordPress.

E infine abbiamo "wp_html_excerpt ()"Per abbreviare ogni contenuto del feed.

Tutte le altre funzioni sono note a WordPress o sono incluse nella classe Simple Pie.

Ecco il codice:

/ **
* Crea il metabox RSS
*
* @Accesso pubblico
* @since 1.0
* @return void
* /

funzione rc_mdm_create_my_rss_box () {

// Ottieni feed RSS
include_once (ABSPATH. WPINC. '/feed.php');

// Elenco dei miei feed (aggiungi i tuoi URL di feed RSS)
$ my_feeds = array (
'Http://feeds.feedburner.com/FSAllJobs',
'Http://www.wphired.com/feed/?post_type=job_listing'
);

// Passa attraverso i feed
foreach ($ my_feeds come $ feed):

// Ottieni un oggetto feed SimplePie dall'origine feed specificata.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Verifica che l'oggetto sia stato creato correttamente
// Scopri quanti elementi totali ci sono e scegli un limite
$ maxitems = $ rss-> get_item_quantity (3);

// Crea un array di tutti gli elementi, iniziando con l'elemento 0 (primo elemento).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Ottieni titolo RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '';
finisci se;

// Visualizza il contenitore
eco '
'; eco ''$ Rss_title.''; eco '
'; // Inizia a elencare gli articoli all'interno
    etichetta eco '
      '; // Controlla gli articoli if ($ maxitems == 0) { eco '
    • '.__ (' Nessun elemento ',' rc_mdm ').'.
    • '; } altro { // Passa attraverso ciascun elemento del feed e visualizza ogni elemento come collegamento ipertestuale. foreach ($ rss_items come $ item): // Riga di commento precedente per visualizzare la data non umana // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Ottieni una data umana (commenta se vuoi usare una data non umana) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' ago ',' rc_mdm '); // Inizia a visualizzare il contenuto dell'articolo in a
    • etichetta eco '
    • '; // crea il collegamento dell'articolo eco 'get_permalink ()). '"title ="'. $ item_date. '">'; // Ottieni il titolo dell'articolo echo esc_html ($ item-> get_title ()); eco ''; // Visualizza data eco ' '$ Item_date.'
      '; // Ottieni il contenuto dell'articolo $ content = $ item-> get_content (); // Riduci i contenuti $ content = wp_html_excerpt ($ content, 120). '[...]'; // Visualizza contenuto echo $ content; // Fine
    • etichetta eco '
    • '; endforeach; } // Fine
        etichetta eco '
'; endforeach; // Termina il feed foreach }

Alla riga 15 c'è un array in cui puoi inserire tutti i feed che vuoi. Puoi anche definire il numero di ciascun elemento del feed da visualizzare alla riga 27. Infine, alla riga 50 e 54 puoi scegliere di visualizzare una data umana o una data normale. Tocca a voi.

Conclusione

Ok, quindi abbiamo creato un semplice metabox, ma ora hai le basi per creare i tuoi metabox con i tuoi contenuti. Puoi anche rimuovere i metabox di WordPress predefiniti e avere una completa comprensione di API widget dashboard, ti incoraggio, come sempre, a dare un'occhiata a codice.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me