Pregunta

Tengo curiosidad por qué esto no se hará eco del HTML; He examinamos las otras preguntas en la que tiene que ver con el eco y de impresión.

Debe ser el PHP bucle while en la cadena, pero me ha escapado de las comillas dobles. Hay que ocurra algo más complejo, es decir, el error "Objeto de la clase GT-consultas no pudo ser convertido en cadena."

¿Estoy siendo demasiado simplista con el intento de hacerse eco de la PHP?

Editado por algún formato (que no quiere trabajar en un primer momento).

Y, lo que tengo que hacer es repetir el código HTML que se genera por el bucle de consulta, porque ese es el enlace a la entrada de wordpress.

<?php $d=date("D"); if (in_array($d, array('Thu','Fri','Sat','Sun')))

echo "The latest post for Thursday, Friday, Saturday, Sunday:

<?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

<a href=\"<?php the_permalink() ?>\" rel=\"bookmark\"><?php the_title(); ?></a>.

<?php endwhile; ?>" ;?>

'tanques, Mark

¿Fue útil?

Solución

No se puede utilizar PHP así. Prueba esto:

$d=date("D");
if (in_array($d, array('Thu','Fri','Sat','Sun'))) {
    echo "The latest post for Thursday, Friday, Saturday, Sunday: ";
    $my_query = new WP_Query('category_name=posts&showposts=1');
    while ($my_query->have_posts()) {
        $my_query->the_post();
        echo "<a href=\";
        the_permalink();
        echo "\" rel=\"bookmark\">";
        the_title();
        echo "</a>";
    }
}

O, si lo prefiere esta sintaxis:

<?php
    $d=date("D");
    if (in_array($d, array('Thu','Fri','Sat','Sun'))):
?>
The latest post for Thursday, Friday, Saturday, Sunday:
<?php
        $my_query = new WP_Query('category_name=posts&showposts=1');
        while ($my_query->have_posts()):
            $my_query->the_post();
?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
<?php
        endwhile;
    endif;
?>

Otros consejos

No cierra su cadena - que debe ser:

<?php
$d=date("D");

if (in_array($d, array('Thu','Fri','Sat','Sun')))
    echo "The latest post for Thursday, Friday, Saturday, Sunday: ";

$my_query = new WP_Query('category_name=posts&showposts=1');

while ($my_query->have_posts())
{
    $my_query->the_post();
    ?><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>.<?php
}
?>

Su formato no es muy bueno por cierto. Saltos de línea no son caros!

el intérprete PHP deja de interpretación en ?> y considera que todo lo que viene después como entrada normal. así todo este último código se analiza de nuevo y no forma parte del eco.

Se abre el script php dos veces: <?php sólo debe ser allí una vez

.
  

<?php ... "El último mensaje para el jueves, viernes, sábado, domingo: <?php

¿Por qué nunca sale de la cadena?

<?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?>

El código anterior se ha quedado atascado en el centro de la cadena.

Se imprime

The latest post for Thursday, Friday, Saturday, Sunday: <?php  = new WP_Query('category_name=posts&showposts=1'); ?><?php while (()) : (); ?><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>. <?php endwhile; ?>

que es lo que debería. PHP sólo se analiza en una sola pasada.

<?php
$d=date("D");
if(in_array($d, array('Thu','Fri','Sat','Sun')))
  echo 'The latest post for Thursday, Friday, Saturday, Sunday:'.
       ' <?php $my_query = new WP_Query(\'category_name=posts&showposts=1\'); ?'.
       '><?php while ($my_query->have_posts()) : $my_query->the_post(); ?'.
       '><a href="<?php the_permalink() ?'.
       '>" rel="bookmark"><?php the_title(); ?'.
       '></a>. <?php endwhile; ?'.'>';
?>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top