Wordpress: agrega automáticamente texto al contenido de cualquier publicación o página

Ayuda de WordPress

A veces, desea incluir una breve nota en todas las publicaciones de su blog, sin instalar un complemento adicional. Para mí, se aplica la regla: lo que puede hacer sin un complemento, debe prescindir de él, porque cada complemento infla Wordpress nuevamente y, a menudo, los complementos instalados tienen una sobrecarga significativa de funciones que en realidad no necesita en absoluto. Otro punto que habla en contra de cada vez más complementos es, por supuesto, la seguridad de WordPress. La mayoría de los ataques de piratas informáticos se ejecutan a través de complementos de Wordpress obsoletos o programados de manera insegura. El núcleo de WordPress suele ser muy seguro si cuidas las actualizaciones.

Solución a través de functions.php

Quería agregar un apéndice a los artículos de mi blog que indica que participo en el programa de afiliados de Amazon. De acuerdo con la nueva regulación de Amazon en 2018, la oración "Como socio de Amazon, gano con las compras que califican". configurarse en cada página donde se encuentre publicidad de Amazon. Como no quería editar todas estas páginas individualmente, solo agregaré la nota debajo de cada publicación.

Para agregar funciones tan pequeñas, Wordpress ofrece la posibilidad de incluir los fragmentos de código PHP correspondientes en el archivo "funciones.php" en la carpeta del tema. Si aún no tiene este archivo, es mejor crearlo y copiar el código a continuación en él.

El gancho “the_content” lo hace posible

Con "Hooks", Wordpress ofrece opciones flexibles para expandir o cambiar las funciones que se ejecutan en Wordpress. Ahora usamos el enlace the_content para modificar el contenido de la publicación o página antes de que se muestre en la página web. Para que la adición solo se instale en páginas y publicaciones y no se muestre en resúmenes de categorías o similares, todavía hay consultas in_the_loop() y is_main_query() para usar. Aquí está el guión terminado:

add_filter('el_contenido', 'filtrar_el_contenido_en_el_bucle_principal'); function filter_the_content_in_the_main_loop( $content ) { // Comprobar si estamos en el bucle de una publicación o página if ((is_single() OR is_page()) && in_the_loop() && is_main_query() ) { // La parte HTML de la fuente puedes cambiarlo o extenderlo como quieras return $content . ' Nota: Como asociado de Amazon, gano con las compras que califican. '; } devolver $contenido; }

Si solo desea la sugerencia en las publicaciones y no en las páginas (como la impresión o similar), cambie la declaración if de la siguiente manera:

if ( is_single() && in_the_loop() && is_main_query() ) {

Si tiene alguna pregunta sobre el uso o sugerencias para mejorar el código, espero sus comentarios.

¿Te gustó el artículo y te ayudaron las instrucciones del blog? Entonces sería feliz si usted el blog a través de una membresía constante apoyaría.

21 respuestas a “Wordpress: agrega automáticamente texto al contenido de cualquier publicación o página”

  1. Gracias por la publicación, eso es exactamente lo que estaba buscando.
    Desafortunadamente, no me funciona.
    Pero también tengo poca idea del tema.
    Si lo comparo con otras llamadas a funciones, todavía tienen un add_action() o algo similar.
    Si tienes algún consejo, estaré encantado de escucharte.
    ¡Muchos gracias! :-)
    Frank

    1. ¡Hola, franco! 1000 gracias por tu nota. De hecho, faltaba la llamada "add_filter ()". Sin el, la función no se integrará en el gancho. lo agregué ¡Prueba si funciona ahora con el nuevo código! LG! Jens

  2. Hola Frank,
    ¡Muchas gracias por su contribución! Exactamente lo que estaba buscando :)
    Tengo una pregunta más: ¿hay alguna forma de leer la palabra clave de enfoque de Yoast e insertarla en el texto de arriba?
    por ejemplo, Nota: Como Asociado de Amazon, gano con las compras que califican de [palabra clave de enfoque], por ejemplo, sala de control).
    Saludos cordiales
    Sandra

    1. ¡Hola Sandra! Creo que todas las variables y la palabra clave de enfoque solo se pueden usar en el fragmento. Entonces en el meta título y la meta descripción. Con la programación PHP, es posible que pueda extraerlo y mostrarlo de alguna manera en la oración, pero no tengo idea de cómo hacerlo.

  3. Hola jens
    una pregunta sobre este fragmento de PHP. Si pego este código, aparecerá un texto debajo de las publicaciones (hasta ahora todo bien), pero también debajo de las páginas de productos de Woocommerce. Este texto no debería estar allí. ¿Cómo tengo que ajustar el código? Gracias otra vez.

    Saludo
    Norbert

    1. ¡Hola Norberto! Buena pregunta, siguiente pregunta! :D No tengo ni idea de WooCommerce. Supongo que tendría que agregar una consulta como "si (es_página())" o algo así, pero con detección si es una página de producto de WooCommerce. Pero desafortunadamente no sé cómo funciona eso porque no conozco las peculiaridades de WooCommerce... :(

  4. Hola,

    ¿Es posible crear un campo personalizado con ACF Pro y mostrarlo automáticamente para todos los montos, preferiblemente directamente debajo del encabezado h1? Si es así, ¿hay un complemento para eso?

    1. ¡Hola Cristóbal! No creo que ACF sea muy adecuado para este propósito. Los campos siempre están relacionados con el post correspondiente, si no me equivoco. Pero probablemente puedas hacerlo conmigo. ad insertador resolver. Allí puede crear un texto y luego decirle al campo dónde debe aparecer. También existe la opción "todas las publicaciones" y creo que también puedes definir "debajo del título" o algo así...

      1. Hola Jens,

        Gracias por la respuesta.

        Solo quería que los precios que agregué a ACF aparecieran según la publicación. Ya que hay diferentes precios, por eso uso ACF. ¿Es posible combinar eso con el insertador de anuncios? Debería verse como el sitio web de Reiseuhu, así como los diferentes precios que aparecen allí debajo del H1.

  5. reinas mongolas cristianas

    hallo,

    no me funciona el codigo..

    mi functions.php se ve así:
    es casa ) {
    $consulta->set('gato', '-390');
    }
    devuelve $ consulta;
    }

    add_filter('pre_get_posts', 'exclude_category_home');

    // Añadir código corto
    función my_backlink() {
    devolver 'Volver al inicio';
    }
    add_shortcode('enlace de retroceso', 'mi_enlace de retroceso');

    add_filter('el_contenido', 'filtrar_el_contenido_en_el_bucle_principal');

    función filter_the_content_in_the_main_loop ($ contenido) {

    // Comprobar si estamos en el bucle de una publicación o página
    if (( es_único() && en_el_bucle() && es_consulta_principal() ) {
    // Puede cambiar o expandir la parte HTML de la fuente como desee
    devolver $contenido. ”;
    }

    devolver $ contenido;
    }

    1. ¡Hola cristiano! Básicamente, cuando informa errores a las personas y busca ayuda, sería bueno tener nada más que "funciona para mí" como entrada. ¿Quieres decir que no hay salida? ¿Ves un mensaje de error? Por ejemplo, veo que ha eliminado el texto que se va a generar. Así que simplemente no puede venir ninguna salida. Pero tal vez brinde un poco más de retroalimentación donde está atascado. ¡Gracias!

      1. Y creo que debe reemplazar todas las comillas simples en el código por otras nuevas. No se parecen a los que obtienes con SHIFT + # para mí. Pero podría ser que Wordpress ya lo esté mostrando incorrectamente en mi código.

Escribe un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados con * markiert

En el Blog de Sir Apfelot encontrarás consejos, instrucciones y reseñas sobre productos de Apple como el iPhone, iPad, Apple Watch, AirPods, iMac, Mac Pro, Mac Mini y Mac Studio.

Especiales