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

War es hilfreich?

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; ?'.'>';
?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top