簡體   English   中英

為什么在PHP中不會回顯?

[英]Why won't this echo in PHP?

我很好奇為什么它不會回顯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; ?>" ;?>

坦克,馬克

您不需要關閉字符串-應該是:

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

順便說一句,你的格式不是很好。 換行符並不昂貴!

您不能像那樣使用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;
?>

php解釋器在?>處停止解釋,並將以后出現的所有內容視為普通輸入。 因此,所有后面的代碼都會被再次解析,而不是回聲的一部分。

您打開php腳本兩次: <?php應該只存在一次。

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

為什么您從不退出字符串?

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

上面的代碼卡在字符串的中間。

它打印

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僅一次解析。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM