Question

Je suis curieux de savoir pourquoi ce ne sera pas l'écho du HTML; Je l'ai lu attentivement les autres questions afin d'avoir à faire avec écho et impression.

Il doit être le PHP en boucle dans la chaîne, mais je l'ai échappé aux guillemets doubles. Il y a quelque chose qui se passe plus complexe, à savoir l'erreur « objet de la classe WP-requête ne peut être converti en chaîne. »

Suis-je trop simpliste d'essayer de faire écho PHP?

Edité pour une mise en forme (qui ne voulait pas travailler dans un premier temps).

Et, ce que je dois faire est l'écho le code HTML qui est généré par la boucle d'interrogation, parce que le lien vers le poste 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; ?>" ;?>
réservoirs '

, Mark

Était-ce utile?

La solution

Vous ne pouvez pas utiliser PHP comme ça. Essayez ceci:

$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>";
    }
}

Ou si vous préférez cette syntaxe:

<?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;
?>

Autres conseils

Vous ne fermez pas votre chaîne - il devrait être:

<?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
}
?>

Votre formatage est pas très bon BTW. Les sauts de ligne ne sont pas chers!

l'interpréteur PHP arrête l'interprétation à ?> et considère tout ce qui vient plus tard comme entrée normale. donc tout le code ci est analysé à nouveau et ne fait pas partie de l'écho.

Vous ouvrez le script php deux fois: <?php ne devrait être là une fois

.
  

<?php ... « Le dernier message jeudi, vendredi, samedi, dimanche: <?php

Pourquoi ne quittez jamais la chaîne?

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

Le code ci-dessus est coincé au milieu de votre chaîne.

Il 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; ?>

qui est ce qu'elle doit. PHP ne fait qu'analyser en une seule passe.

<?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; ?'.'>';
?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top