Anonim

Es posible que en algún momento de su desarrollo de WordPress deba proporcionar a alguien un feed personalizado. Ya sea para proporcionarle a alguien una API, o simplemente para proporcionar una mejor experiencia para un determinado conjunto de usuarios, se hace fácilmente.

Prefiero crear una nueva fuente en lugar de extender las fuentes predeterminadas, ya que este método me parece un poco más simple

función add_feed WordPress

add_filter ('init', 'tj_init_custom_feed'); function tj_init_custom_feed () {// inicializa el feed add_feed ('custom-feed', 'tj_custom_feed'); }

En su archivo functions.php en su tema de WordPress, agregue el código anterior. Como es mejor no llamar a add_feed directamente, lo agregamos a través de un filtro en 'init'. El primer parámetro en la llamada a la función se usa para proporcionar el slug de URL para el feed. El segundo parámetro se usa para vincularlo con el nombre de una función. Entonces, cuando se llama esa url (yourblogurl.com/custom-feed), ejecuta la función PHP tj_custom_feed.

Tenga en cuenta que las reglas de reescritura para WordPress se deben eliminar antes de que esa URL se reconozca correctamente. Una buena forma simple de forzar el vaciado de las reglas es ir al Administrador de WordPress -> Configuración -> Enlaces permanentes, y luego hacer clic en el botón Guardar cambios.

Salida del XML

Realmente no hay nada demasiado complejo sobre la salida del código de alimentación RSS / XML. Primero, el tipo de contenido se establece a través de la función de encabezado php para que se pueda representar adecuadamente. A continuación, recuperamos algunos datos de get_posts, lo recorremos y hacemos eco en la pantalla.

function tj_custom_feed () {header ("Tipo de contenido: texto / xml"); echo "\ n"; eco " \ n "; $ posts = get_posts (); foreach ($ posts as $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; eco ' '; echo "\ t ". $ post-> ID". \ n "; echo" \ t ". $ post-> post_date". \ n "; echo" \ t ". $ post_link". \ n "; echo" \ t \ n "; echo" \ t ". esc_html (strip_tags ($ post-> post_excerpt))". \ n "; echo" \ t ". $ imagen". "; eco ' '; } eco " "; salida; }

Creación de WordPress personalizado RSS / RSS Feed