【问题标题】:PHP inside PHP problemsPHP里面的PHP问题
【发布时间】:2013-08-25 19:35:54
【问题描述】:

我使用了 Wordpress 的条件标签来自定义侧边栏中的信息输出。

我用过这个:

<?php if is_home(); {

echo 'blah blah...' 

} else {

echo '<?php $myQuery = new WP_Query(\'showposts=3\');
      while ($myQuery->have_posts()) : $myQuery->the_post(); ?>'
<?php endwhile; ?>

} ?>

现在我总是在侧边栏中得到 "have_posts()) : $myQuery->the_post(); ?>" 作为文本输出, 所以 $myquery 部分似乎会导致问题,谁能帮我找出错误?

非常感谢您。

编辑:解释 我希望侧边栏在博客索引页面 (is_home) 上输出其他信息。在除博客索引页面之外的所有其他页面上,应显示最后三篇文章。这就是我使用 WP_Query 的原因

【问题讨论】:

  • 如果你有它回显PHP代码,它会回显PHP代码,而不是执行它。
  • 在 PHP 脚本中输出 PHP 代码几乎没有用处。请解释一下,具体应该怎么做。
  • 转义斜杠不会在单引号内解析,这就是问题所在

标签: php wordpress-theming


【解决方案1】:

改为这样做:

<?php if is_home(); {

echo 'blah blah...' 

} else {

    $myQuery = new WP_Query('showposts=3');
    while ($myQuery->have_posts()){
        $myQuery->the_post();
    }

} ?>

echo(1) 用于输出字符串,它不会执行代码。我建议您在 PHP 手册 (2) 中查找您遇到的每个新函数,如果在那里找不到,则可能是 WordPress 特定函数,您可以在 WordPress Codex (3) 中查找它

  1. http://php.net/manual/en/function.echo.php
  2. http://php.net/manual/en/
  3. http://codex.wordpress.org/Function_Reference/

【讨论】:

  • 对不起,我是 PHP 新手:所以问题只是将 echo 放在 myQuery 部分之前?看起来非常合法。我想我一直是瞎子。
  • 当然是 PHP 的开头标签,它们不应该在那里,因为您已经从 &lt;?php 开始(这意味着 PHP 代码在后面)
猜你喜欢
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
相关资源
最近更新 更多