WordPress: cómo mostrar the_title como un enlace

3 minutos de lectura

Tengo problemas para mostrar un título como enlace en una función de WordPress.

Si lo codifico así:

function my_popular_posts($count) {
    $query = new WP_Query( array( 
    'orderby' => 'comment_count',
    'order' => 'DESC',
    'posts_per_page' => $count));
    if($query->have_posts()) {
        echo '<ul>';
        while($query->have_posts()) : $query->the_post();
**THIS LINE --> echo '<li><a href="https://stackoverflow.com/questions/22182460/.get_permalink()."> .the_title(). </a></li>';
        endwhile;
        echo '</ul>';
    } else {
        echo "<p>No popular posts found<p>"; 
    }
}

En tiempo de ejecución, el enlace se muestra como “.the_title()”

Si lo codifico de esta manera:

echo '<li><a href="https://stackoverflow.com/questions/22182460/.get_permalink().">'.the_title().'</a></li>';

Mostrará el título, pero no como un enlace.

¿Algunas ideas? Su ayuda será apreciada.

¡Gracias!

  • @cale_b Tus respuestas fueron parcialmente correctas. Tuve las comillas dobles durante una de mis ediciones, pero de alguna manera olvidé volver a ponerlas. Esta fue la respuesta correcta: stackoverflow.com/a/22182574/742030

    usuario742030

    04/03/2014 a las 20:48

  • the_title() se repite a sí mismo, se repetirá a sí mismo, por lo que cuando se usa dentro de un eco se romperá, use get_the_title() si se usa dentro de una declaración de eco.

    – Alguien

    16 sep 2019 a las 15:46

avatar de usuario
Rahil Wazir

the_title contenido de salida en sí. necesitas usar get_the_title() que devuelve el contenido

Prueba esto:

echo '<li><a href=""https://stackoverflow.com/questions/22182460/. get_permalink() ."">' . get_the_title() . '</a></li>';

  • ¡Gracias! Tenía ese b4 pero me faltaban las comillas dobles.

    usuario742030

    04/03/2014 a las 20:46

  • Lo hizo en combinación con las comillas dobles: tengo que esperar 2 minutos más b4. Puedo verificarlo como la respuesta. ¡Gracias otra vez!

    usuario742030

    04/03/2014 a las 20:50

Creo que solo necesitas usar comillas dobles para href="" para que funcione el enlace

echo '<li><a href=""https://stackoverflow.com/questions/22182460/.get_permalink()."">'.the_title().'</a></li>';

Aprende más aquí

  • Te subí porque necesitaba las comillas dobles. Sin embargo, las tenía originalmente y no funcionó.

    usuario742030

    04/03/2014 a las 20:44

  • @Andaero Intenta echo get_permalink(); ¿imprime correctamente el enlace?

    – fabio

    04/03/2014 a las 20:49

  • the_title() se repite a sí mismo.

    – Alguien

    16 sep 2019 a las 15:45

avatar de usuario
nombre_de_usuario_aleatorio

Faltan las comillas de cierre en esa línea.

Tenga en cuenta la adición de las comillas de cierre:

    while($query->have_posts()) : $query->the_post();
        echo '<li><a href="https://stackoverflow.com/questions/22182460/. get_permalink() .">' . get_the_title() . '</a></li>';
    endwhile;

Además, su marcado debe incluir citas alrededor de la URL del enlace, como se edita a continuación:

echo '<li><a href=""https://stackoverflow.com/questions/22182460/. get_permalink() ."">' . get_the_title() . '</a></li>';

  • Te subí porque necesitaba las comillas dobles. Sin embargo, las tenía originalmente y no funcionó. Volví a intentar ambas respuestas, pero tampoco funcionó.

    usuario742030

    04/03/2014 a las 20:45

  • the_title() se repite a sí mismo.

    – Alguien

    16 sep 2019 a las 15:45

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad