-1

これが HTML をエコーし​​ない理由が気になります。エコーと印刷に関係するSOの他の質問を熟読しました。

文字列内の PHP while ループである必要がありますが、二重引用符をエスケープしました。もっと複雑なことが起こっています。つまり、「クラス WP-Query のオブジェクトを文字列に変換できませんでした」というエラーです。

PHP をエコーし​​ようとするのは単純すぎますか?

いくつかの書式設定用に編集されました (最初は機能しませんでした)。

そして、クエリ ループによって生成された HTML をエコーする必要があります。これは、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; ?>" ;?>

戦車、マーク

4

7 に答える 7

4

文字列を閉じません-次のようにする必要があります。

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

あなたのフォーマットはあまり良くありません。改行は高価ではありません!

于 2009-07-19T19:03:33.517 に答える
3

そのような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();
        echo "<a href=\";
        the_permalink();
        echo "\" rel=\"bookmark\">";
        the_title();
        echo "</a>";
    }
}

または、次の構文を好む場合:

<?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;
?>
于 2009-07-19T19:07:20.887 に答える
1

PHP インタープリターは で解釈を停止し?>、その後に来るすべてのものを通常の入力と見なします。したがって、後者のコードはすべて再度解析され、エコーの一部ではありません。

于 2009-07-19T19:03:59.380 に答える
0

php スクリプトを 2 回開きます。1 回<?phpだけです。

<?php... "木曜日、金曜日、土曜日、日曜日の最新の投稿:<?php

于 2009-07-19T19:02:34.330 に答える
0

なぜ文字列を終了しないのですか?

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

上記のコードは、文字列の途中でスタックしています。

于 2009-07-19T19:02:54.017 に答える
0

印刷します

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

それはそれがすべきことです。PHP は 1 つのパスでのみ解析します。

于 2009-07-19T19:05:41.407 に答える
0
<?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; ?'.'>';
?>
于 2009-07-19T19:07:49.140 に答える