为什么这不会在PHP中回响?

时间:2009-07-19 18:59:29

标签: php arrays echo

我很好奇为什么这不会回应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; ?>" ;?>

'坦克,马克

7 个答案:

答案 0 :(得分: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
}
?>

你的格式不是很好。换行并不贵!

答案 1 :(得分: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;
?>

答案 2 :(得分:1)

php解释器停止在?>进行解释,并将稍后的所有内容视为正常输入。因此,后面的所有代码都会被再次解析,而不是回声的一部分。

答案 3 :(得分:0)

你打开php脚本两次:<?php应该只有一次。

  

<?php ...“周四,周五,周六,周日的最新帖子:<?php

答案 4 :(得分:0)

为什么你永远不退出字符串?

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

上面的代码卡在你的字符串中间。

答案 5 :(得分: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只能一次解析。

答案 6 :(得分: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; ?'.'>';
?>