Cómo agregar contenido y manipular completamente las fuentes RSS de WordPress
Hace un tiempo compartimos cómo puede controlar su pie de página de WordPress RSS con el uso de un famoso complemento llamado pie de página RSS por Joost. Si bien el plugin es genial, pero es muy limitado. Solo puede agregar texto al pie de página, y siempre es el mismo texto que se muestra en el pie de página de cada publicación. ¿Qué sucede si desea mostrar un texto diferente para cada publicación en su publicación RSS? ¿Qué sucede si quieres que las publicaciones específicas tengan un título diferente en las fuentes RSS? ¿Qué sucede si desea mostrar un campo personalizado específico en sus fuentes RSS? Bueno, esta es la razón por la que le presentamos este artículo que le mostrará cómo agregar cualquier tipo de contenido en sus fuentes RSS de WordPress. Este truco te pondrá en control de tus fuentes RSS de WordPress y puedes manipularlo de cualquier manera que quieras.
Nota: Este truco no es para principiantes. Solo los usuarios que se sienten cómodos con la edición del archivo functions.php y tienen algún conocimiento de php deben intentar esto. Los usuarios principiantes deben usar el complemento mencionado en el artículo anterior o consultar a profesionales como nosotros para que lo hagan por usted..
1. Agregue un campo personalizado a su pie de página de WordPress RSS
En este primer ejemplo, le mostraremos cómo puede usar el campo personalizado para mostrar texto / objeto específico en su fuente RSS de WordPress. Este truco te permitirá mostrar diferentes textos, anuncios, imágenes o cualquier otra cosa para cada publicación. Primero abre tus funciones.php y pega los siguientes códigos en las etiquetas php:
function wpbeginner_postrss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, 'coolcustom', true); if (is_feed ()) if ($ coolcustom! == ") $ content = $ content."
". $ coolcustom". "; else $ content = $ content; devolver $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Ahora la mayoría de ustedes se preguntan cómo funciona este código. Así que aquí hay una explicación. Creamos una función llamada wpbeginner_postrss que ejecuta un wp_query global para buscar en cada publicación si se define un campo personalizado llamado "coolcustom". Si se define Cool Custom, se muestra el valor después del contenido de la publicación. Si no hay un campo personalizado definido, la función por defecto muestra solo el contenido de la publicación y nada más. Usamos la variable $ contenido para mostrar contenido. Estamos utilizando la función if (is_feed) y agregamos el texto personalizado u otro contenido al contenido de la publicación principal, que puede ver en el segundo filtro. Pero solo se mostrará en las fuentes RSS debido a nuestro usuario de la función if (is_feed). Al hacerlo de esta manera, evitamos todos los problemas de compatibilidad..
Algunos de ustedes dirán, pero simplemente hicieron lo que hace el complemento de pie de página RSS con una función. Si y no. Sí, estamos agregando el código en el pie de página de la publicación, pero este texto no es el mismo texto exacto para cada publicación. Es diferente porque especifica un texto diferente para cada publicación a través de campos personalizados. Este truco será muy útil para cumplir con las nuevas directrices de la FTC para blogs que tienen todo tipo de publicaciones..
2. Agregando texto adicional para publicar títulos en RSS
¿Su blog tiene publicaciones de invitado, publicaciones patrocinadas y publicaciones de revisión? Bueno, si lo haces, te resultará muy útil. Algunos bloggers tienen un estilo personalizado para mostrar cada tipo diferente de publicación, para que sus usuarios puedan distinguirlos. Pero cuando estas publicaciones van en un lector, todos los estilos han desaparecido. Es entonces cuando este truco es útil. En este truco agregaremos cualquier texto antes o después del título..
Por ejemplo, si su título era "Tema de WordPress comercial - StudioPress" y fue una publicación patrocinada, entonces puede cambiarlo a "Publicación patrocinada: Tema de WordPress comercial - StudioPress". Igual si alguien escribió un post invitado, etc..
Para lograr esto, abra su archivo functions.php y agregue el siguiente código allí:
function wpbeginner_titlerss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ gpost = get_post_meta ($ postid, 'guest_post', true); $ spost = get_post_meta ($ postid, 'sponsor_post', verdadero); if ($ gpost! == ") $ content = 'Guest Post:'. $ content; elseif ($ spost! ==") $ content = 'Sponsored Post:'. $ content; else $ content = $ content; devolver $ contenido; add_filter ('the_title_rss', 'wpbeginner_titlerss');
Explicación del código:
Estamos utilizando la función llamada wpbeginner_titlerss que ejecuta una wp_query global para buscar en cada publicación si contiene $ gpost o $ spost. Estos dos elementos básicamente buscan dos campos personalizados específicos llamados "guest_post" o "spons_post". Si alguien ha agregado estos campos personalizados con un valor verdadero, entonces el código lo agregará en el texto. Si no, solo verás el título normal. Puede ver primero el código que busca si $ gpost es verdadero, si eso no es cierto si $ spost es verdadero. Si eso no está también definido, entonces muestra el contenido normal. Pero si alguno de ellos era verdadero, entonces muestra el texto diferente que especifique aquí. Estamos usando $ cadena de contenido para mostrar el título de la publicación.
Ahora que solo estaba mostrando campos personalizados en el título. ¿Desea mostrar el nombre de la categoría en cada título? Bueno, entonces simplemente debes pegar el siguiente código en tu archivo functions.php:
function wpbeginner_cattitlerss ($ content) $ postcat = ""; foreach ((get_the_category ()) como $ cat) $ postcat. = '('. $ cat-> cat_name. ')'; $ content = $ content. $ postcat; devolver $ contenido; add_filter ('the_title_rss', 'wpbeginner_cattitlerss');
Explicación: estamos utilizando la función wpbgeinner_cattitlerss para obtener el ID de categoría para cada publicación y luego la mostramos justo al lado del título. Entonces, si el título es "Obtener formulario de contacto 7" ahora sería "Obtener formulario de contacto 7 [Complementos]". Puede ver que no hay ninguna variable de este código en este código. Utilizamos $ contenido para el título principal y la variable $ postcat para definir el nombre de la categoría. Reorganiza eso si te gusta..
3. Añadir el mismo texto en todas las publicaciones en RSS
Si solo desea agregar el mismo texto, entonces también puede usar el complemento llamado RSS Footer by Joost porque es más fácil. Pero si quieres hacerlo tú mismo, así es como lo haces. Abra su archivo functions.php agregue el siguiente código:
function wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Esta publicación fue escrita por Syed Balkhi'. $ content.'Check out WPBeginner '; devolver $ contenido; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Explicación: Estamos llamando a una función wpbeginner_postrss para agregar en cada publicación un contenido antes de la publicación que dice que Esta publicación fue escrita por Syed Balkhi y después del contenido. Consulte WPBeginner. Pero agregamos la función if (is_feed), por lo que solo se mostrará en las fuentes RSS.
Esto sería muy útil si quisiera vender anuncios en publicaciones específicas en RSS, agregar pautas de la FTC personalizadas o simplemente quería tener más control sobre sus fuentes RSS..
Fuente: Usamos el plugin RSS Footer de Joost para una gran cantidad de orientación al escribir este tutorial. La parte de pirateo del título RSS que obtuvimos de un sitio de tutoría en francés, agregamos nuestras propias variables y le dimos la posibilidad de ser títulos personalizados por campo personalizado..