Concatenación de cadenas en WordPress

1 minuto de lectura

avatar de usuario
Gnanadeep

En mi sitio de WordPress, intento recuperar las 10 publicaciones más recientes y almacenarlas en una cadena. Después de eso, escribiré este contenido en un archivo de texto. A continuación se muestra el código que estoy usando.

<?php $str=""; ?>
<?php
require_once('../wp-blog-header.php');
query_posts('&showposts=10&order=DESC&caller_get_posts=1');  
while (have_posts()) : the_post(); ?>     
 <?php $str .= '<a href="' . the_permalink() . '">' .the_title() . '</a>'; ?>
<?php endwhile; ?>
<?php $fp = fopen("latestposts.txt", "w");
 fwrite($fp, $str);
fclose($fp);?>

El problema es que, cuando ejecuto esta página, el enlace permanente y el título regresan a esta página y las etiquetas vacías ”….” aparecen en el archivo de texto. Si no estoy usando la cadena, las etiquetas href regresan correctamente en el mismo archivo.

  • ¿simplemente devolver algo?

    – ThatGuyInIT

    27 de junio de 2011 a las 6:04

  • ¿Alguna razón por la que está abriendo el archivo dos veces sin cerrarlo la primera vez?

    – jerluc

    27 de junio de 2011 a las 6:04

  • while (have_posts()) : the_post(); ?>

    – Gnanadeep

    27 de junio de 2011 a las 6:07


avatar de usuario
Shakti Singh

the_permalink() y the_title() no devuelve nada son para imprimir valores.

Tienes que usar su get_ versión. Esos son get_permalink() y get_the_title()

<?php $str .= '<a href="' . get_permalink() . '">' .get_the_title() . '</a>'; ?>

  • Error fatal: llamada a la función no definida get_the_permalink() en /var/www/pgdeep/data/……….. en la línea 6

    – Gnanadeep

    27 de junio de 2011 a las 6:10

  • @usuario: Mejorado, Esto es get_permalink(). Ver mi respuesta editada

    – Shakti Singh

    27 de junio de 2011 a las 6:12


  • Muchas gracias @ShaktiSingh. ¡Salvaste mi día!

    – roberto

    3 de abril de 2017 a las 2:27

Esta es más una pregunta de wordpress, pero debería usar get_permalink() y get_the_title() en lugar de las funciones que tiene allí. Esas funciones harán eco del enlace y el título, y no lo devolverán en forma de cadena para usar en su concatenación.

  • obteniendo este error -> Error fatal: llamada a la función indefinida get_the_permalink() en /var/www/pgdeep/data/…

    – Gnanadeep

    27 de junio de 2011 a las 6:11

¿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