Hace un tiempo compartimos cómo puedes controlar tu pie de página de WordPress con el uso de un famoso plugin llamado RSS Footer de Joost. Si bien el complemento es excelente, 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 texto diferente para cada publicación en su publicación RSS? ¿Qué sucede si desea que las publicaciones específicas tengan un título diferente en los canales RSS? ¿Qué sucede si desea mostrar un campo personalizado específico en sus Feeds RSS? Bueno, esta es la razón por la cual presentamos este artículo que le mostrará cómo agregar cualquier tipo de contenido en sus Feeds RSS de WordPress. Este truco te permitirá controlar tus Feeds RSS de WordPress y podrás manipularlo de la forma que quieras.
Nota: Este truco no es para principiantes. Solo los usuarios que se sientan cómodos con la edición del archivo functions.php y tengan algún conocimiento de php deberían intentarlo. Los usuarios principiantes deberían 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 functions.php y pega los siguientes códigos en las etiquetas php:
function site_postrss ($ contenido) { global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, 'coolcustom', true); if (is_feed ()) { if ($ coolcustom! == '') { $ contenido = $ contenido ".". $ coolcustom". "; } else { $ contenido = $ contenido; } } devolver $ contenido; } add_filter ('the_excerpt_rss', 'site_postrss'); add_filter ('the_content', 'site_postrss');
Ahora la mayoría de ustedes se preguntan cómo está funcionando este código. Entonces aquí hay una explicación. Creamos una función llamada site_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, 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 el contenido. Estamos utilizando la función if (is_feed) y agregando el texto personalizado u otro contenido al contenido principal de la publicación, que puede ver en el segundo filtro. Pero solo se mostrará en los canales 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 acaban de hacer lo que hace el complemento RSS footer 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 diferentes textos para cada publicación a través de campos personalizados. Este truco será muy útil para cumplir con las nuevas pautas de la FTC para blogs que tienen todo tipo de publicaciones.
2. Agregar texto adicional para publicar títulos en RSS
¿Su blog tiene publicaciones de invitados, publicaciones patrocinadas y publicaciones de reseñas? Bueno, si lo haces, entonces encontrarás esto muy útil. Algunos bloggers tienen un estilo personalizado para mostrar cada tipo diferente de publicación, por lo que los usuarios pueden distinguir entre ellos. Pero cuando estas publicaciones van en un lector, todos los estilos han desaparecido. Ahí es 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 comercial de WordPress – StudioPress» y era una publicación patrocinada, puede cambiarlo a «Publicación patrocinada: Tema comercial de WordPress – StudioPress». Lo mismo si alguien escribió una publicación de invitado, etc.
Para lograr esto, abra su archivo functions.php y agregue el siguiente código allí:
función site_titlerss ($ contenido) { global $ wp_query; $ postid = $ wp_query-> post-> ID; $ gpost = get_post_meta ($ postid, 'guest_post', true); $ spost = get_post_meta ($ postid, 'sponsored_post', true); if ($ gpost! == '') { $ content = 'Publicación invitada:'. $ contenido; } elseif ($ spost! == '') { $ content = 'Publicación patrocinada:'. $ contenido; } else { $ contenido = $ contenido; } devolver $ contenido; } add_filter ('the_title_rss', 'site_titlerss');
Explicación para el código:
Estamos utilizando la función llamada site_titlerss, que ejecuta un 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 «sponsored_post». Si alguien tiene estos campos personalizados agregados con un valor verdadero, entonces el código lo agregará en el texto. Si no, entonces solo verá el título normal. Primero puede ver que el código busca si $ gpost es verdadero, si eso no es cierto, si $ spost es verdadero. Si eso tampoco está definido, muestra contenido normal. Pero si alguno de ellos era verdadero, entonces muestra el texto diferente que especifique aquí. Estamos usando la cadena $ content 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 site_cattitlerss ($ contenido) { $ postcat = ""; foreach ((get_the_category ()) as $ cat) { $ postcat. = '('. $ cat-> cat_name. ')'; } $ contenido = $ contenido. $ postcat; devolver $ contenido; } add_filter ('the_title_rss', 'site_cattitlerss');
Explicación: Estamos utilizando la función wpbgeinner_cattitlerss para obtener la identificación de categoría para cada publicación y luego mostrarla 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]». Puedes ver que no hay una variable if then en este código. Usamos $ contenido para el título principal y la variable $ postcat para definir el nombre de la categoría. Lo reorganizas si quieres.
3. Agregue el mismo texto en todas las publicaciones en RSS
Si solo desea agregar el mismo texto, entonces también podría usar el complemento llamado RSS Footer de 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 site_postrss ($ contenido) { if (is_feed ()) { $ content = 'Esta publicación fue escrita por Syed Balkhi'. $ content.'Check out site '; } devolver $ contenido; } add_filter ('the_excerpt_rss', 'site_postrss'); add_filter ('the_content', 'site_postrss');
sitio
Esto sería muy útil si quisiera vender anuncios en publicaciones específicas en RSS, agregar pautas personalizadas de FTC o simplemente quería tener más control sobre sus Feeds RSS.
Fuente: utilizamos el complemento RSS Footer de Joost para obtener mucha guía al escribir este tutorial. El título RSS hackear parte que obtuvimos de un sitio de tutorial en francés y agregamos nuestras propias variables y le dio la posibilidad de ser títulos personalizados por campo personalizado.