Warum wird nicht das Echo in PHP?
Frage
Ich bin neugierig, warum dies nicht die HTML-Echo; Ich habe die anderen Fragen durchgelesen in SO mit Echo und Druck zu tun.
Es muss die PHP-while-Schleife in der Zeichenfolge, aber ich die doppelten Anführungszeichen entgangen haben. Es ist etwas komplexer geschieht, nämlich der Fehler „Objekt der Klasse WP-Abfrage nicht zu String umgewandelt werden könnte.“
Bin ich zu simpel mit dem Versuch, die PHP-Echo?
Herausgegeben für einige Formatierung (die nicht auf den ersten arbeiten wollte).
Und was muss ich tun, um die HTML wird Echo, das von der Abfrage-Schleife erzeugt wird, denn das ist der Link auf die Wordpress Post ist.
<?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; ?>" ;?>
'Panzer, Mark
Lösung
Sie können PHP nicht wie diese verwenden. Versuchen Sie folgendes:
$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>";
}
}
Oder wenn Sie diese Syntax:
<?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;
?>
Andere Tipps
Sie schließen nicht die Zeichenfolge - es sein sollte:
<?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
}
?>
Ihre Formatierung ist btw nicht sehr gut. Zeilenumbrüche sind nicht teuer!
die PHP-Interpreter halten an ?>
Interpretation und hält alles, was später als normaler Eingang kommt. also all letzteres Code wird analysiert, wieder und nicht Teil des Echos.
Sie öffnen das PHP-Scripting zweimal: <?php
nur einmal dort sein sollte
<?php
... „Der neueste Beitrag für Donnerstag, Freitag, Samstag, Sonntag:<?php
Warum verlassen Sie nie den String?
<?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?>
Der obige Code befindet sich direkt in der Mitte der Zeichenfolge fest.
Es druckt
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; ?>
das ist, was es sein sollte. PHP parst nur in einem Durchgang.
<?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; ?'.'>';
?>