Cómo agregar una fuente RSS personalizada en el panel de WordPress

Agregar una fuente RSS personalizada en el panel de WordPress

Internet está lleno de excelentes recursos y es difícil echarle un vistazo a todo. Por supuesto, hay Twitter para vigilar las tendencias, o software de lectura de RSS, pero usted es como yo muy ocupado. A veces es molesto tener 20 softwares abiertos al mismo tiempo. Es por eso que decidí usar mi panel de WordPress como plataforma global para tener un acceso rápido a esos feeds. Un ejemplo que quiero compartir hoy es cómo crear un metabox RSS personalizado dentro del panel de WordPress.


Aquí está el resultado final de lo que vamos a crear:

add-a-custom-rss-dashboard-metabox

Paso 1: el complemento

Para agregar este metabox necesitamos crear un complemento. Entonces, simplemente cree una nueva carpeta llamada “my-dashboard-metaboxes” en wp-content / plugins / y dentro de la nueva carpeta cree un archivo llamado my-dashboard-metaboxes.php. Este archivo será el archivo de complemento principal. Ábrelo en tu editor principal. El siguiente código es el código que generará el complemento. Nada realmente complejo aquí:

Paso 2: registro de Metabox

Ahora que tenemos un complemento vacío (me refiero a un complemento que no hace nada), necesitamos registrar al menos un metabox para que se muestre en el panel de WordPress. Para hacerlo, tenemos que crear una nueva función que enganche el "wp_dashboard_setup"Gancho". Llamemos a esta función "rc_mdm_register_widgets ()". Dentro de esta función, debemos decirle a WordPress que queremos agregar un nuevo metabox, y este es el objetivo de "wp_add_dashboard_widget ()"Función. Esta función acepta 4 parámetros:

1 - $ widget_id (entero) (obligatorio) una babosa de identificación para su widget. Esto se usará como su clase css y su clave en la matriz de widgets.
Predeterminado: Ninguno

2 - $ widget_name (cadena) (obligatorio) este es el nombre que su widget mostrará en su encabezado.
Predeterminado: Ninguno

3 - $ devolución de llamada (cadena) (obligatorio) El nombre de una función que cree que mostrará el contenido real de su widget.
Predeterminado: Ninguno

4 - $ control_callback (cadena) (opcional) El nombre de una función que cree que manejará el envío de formularios de opciones de widget (configuración), y también mostrará los elementos del formulario.

Lo importante aquí es el tercer parámetro, es el que define las funciones que se cargarán en el metabox. En este ejemplo se llama "rc_mdm_create_my_rss_box ()".

/ **
* Registre todos los metaboxes del tablero
* *
* @acceso público
* @ desde 1.0
* @return void
* /

función rc_mdm_register_widgets () {
global $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Mis fuentes RSS', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Paso 3: el contenido de Metabox

Si activa el complemento y va a su panel de WordPress, debería ver un nuevo metabox vacío. Ahora necesitamos completar su contenido. Lo importante para esta función es incluir el archivo incorporado "feed.php" de WordPress para permitirle usar la función "fetch_feed ()". Tenga en cuenta que estamos utilizando "fetch_feed ()" porque "fetch_rss ()", "get_rss ()" y "wp_rss ()" están en desuso. Por una vez, incluí todos los comentarios dentro del código directamente, pero me gustaría llamar su atención sobre algunas características agradables que estoy usando dentro de la función metabox.

En primer lugar está el "fetch_feed ()"Función. Este se utiliza para obtener y analizar el contenido de los feeds. Esta función está usando el Clase SimplePie, para que pueda aprovechar casi todas las funciones incluidas en él.

Luego tenemos la función "human_time_diff ()" que se utiliza para mostrar la hora como "human_time_diff ()", Por ejemplo, para mostrar algo como" hace 2 horas "," hace 4 días ", etc., es una función de WordPress.

Y finalmente tenemos "wp_html_excerpt ()"Para acortar el contenido de cada feed.

Todas las demás funciones son funciones conocidas de WordPress o están incluidas en la clase Simple Pie.

Aquí está el código:

/ **
* Crea el metabox RSS
* *
* @acceso público
* @ desde 1.0
* @return void
* /

función rc_mdm_create_my_rss_box () {

// Obtenga RSS Feed (s)
include_once (ABSPATH. WPINC. '/feed.php');

// Mi lista de fuentes (agregue sus propias URL de fuentes RSS)
$ my_feeds = array (
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/?post_type=job_listing'
);

// Recorrer feeds
foreach ($ my_feeds como $ feed):

// Obtenga un objeto de feed SimplePie del origen de feed especificado.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Comprueba que el objeto se haya creado correctamente
// Calcula cuántos artículos hay en total y elige un límite
$ maxitems = $ rss-> get_item_quantity (3);

// Construye una matriz de todos los elementos, comenzando con el elemento 0 (primer elemento).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Obtener título RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '';
terminara si;

// Mostrar el contenedor
eco '
'; eco ''. $ rss_title.''; eco '
'; // Inicia la lista de elementos dentro de
    etiqueta eco '
      '; // Comprobar elementos if ($ maxitems == 0) { eco '
    • '.__ (' Sin elemento ',' rc_mdm ').'.
    • '; } más { // Recorre cada elemento del feed y muestra cada elemento como un hipervínculo. foreach ($ rss_items como $ item): // Descomente la línea a continuación para mostrar la fecha no humana // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Obtener fecha humana (comente si desea usar una fecha no humana) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' '.__ (' ago ',' rc_mdm '); // Comience a mostrar el contenido del elemento dentro de un
    • etiqueta eco '
    • '; // crear enlace de elemento eco 'get_permalink ()). '"title ="'. $ item_date. '">'; // Obtener el título del artículo echo esc_html ($ item-> get_title ()); eco ''; // Mostrar fecha eco ' '. $ item_date.'
      '; // Obtener contenido del artículo $ content = $ item-> get_content (); // Acortar contenido $ content = wp_html_excerpt ($ contenido, 120). '[...]'; // Mostrar contenido echo $ content; // Fin
    • etiqueta eco '
    • '; endforeach } // Fin
        etiqueta eco '
'; endforeach // Fin de cada feed }

En la línea 15 hay una matriz donde puede poner tantos feeds como desee. También puede definir el número de cada elemento de alimentación para mostrar en la línea 27. Finalmente, en las líneas 50 y 54 puede elegir mostrar una fecha humana o una fecha normal. Tu decides.

Conclusión

Ok, entonces creamos un metabox simple, pero ahora tienes lo básico para crear tus propios metaboxes con tu propio contenido. También puede eliminar metaboxes de WordPress predeterminados y tener una comprensión completa de API de widgets del tablero, Os animo, como siempre, a echar un vistazo al códice.

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