-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 脚本两次:<?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 只解析一次。

于 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 回答