¿Cómo agregar al contenido usando add_filter con un tipo de publicación personalizado?


9

Tengo un tipo de publicación personalizado que funciona bien, pero parte del texto de la página es el mismo para cada publicación, por lo que quiero agregarlo usando una función.

Tengo esto configurado:

function new_default_content($content) {
global $post;
    if ($post->post_type == 'custom-post-type') {
    $content = 'Test text here';
    }
    return $content;
    }
add_filter('the_content', 'new_default_content');

Sin embargo, cuando actualizo la página, solo veo "Prueba de texto aquí" y no el contenido de la publicación (del contenido).

Si comento esta función, el contenido de la publicación vuelve a aparecer. ¿Qué estoy haciendo mal?

Respuestas:


8

Está sobrescribiendo por completo el contenido en lugar de agregarlo. Necesitas hacer algo como en su $content .= 'Test text here';lugar.


Mucho poder en ese período, gracias! Otra pregunta: estoy usando un complemento para mostrar botones sociales para Me gusta, +1, etc. y aparecen sobre el nuevo contenido predeterminado. ¿Hay alguna forma de que los botones aparezcan a continuación? Supuse que este filtro "fragmentaría" el contenido y el contenido nuevo por defecto como una sección completa.
George C

1
Bueno, está agregando el nuevo contenido, por lo que aparecerá después. Puede intentar enganchar el filtro con una prioridad más alta para que se procese antes que el complemento, porque el complemento también está utilizando el mismo filtro.
helenhousandi

Ah, analizaré las prioridades. ¡Gracias de nuevo!
George C

FYI jugué con la prioridad y ¡eso funcionó! Gracias de nuevo :)
George C

-1

De manera simple `

               if ($post->post_type == 'custom-post-type') {
                   $new_content= 'Test text here';
                                }
                       return $content.$new_content;

Solo el código no se considera una respuesta de buena calidad. Debe explicar qué hace el código y cómo responde a la pregunta; De esta manera, los lectores que sean novatos en la codificación comprenderán su respuesta. ¿Puedes explicar tu código?
cybmeta
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.