2012-01-16 49 views
1

我不完全确定为什么这不起作用。但是这段代码不起作用。我是否错过了其中一个引号的转义?

<?php 
foreach ($gallery_ids as $gallery) { 
    echo '<div class="tgallery" rel="'.$gallery['gid'].'"><?php echo do_shortcode("[nggallery id='.$gallery['gid'].']"); ?></div>'; 
} 
?> 

我猜测可能是我把错误的引号放在错误的地方。

所有部件seperately工作,如:

  1. 我可以显示'gid'值与echo $gallery['gid']
  2. 我可以使div标签似乎与适当的rel
  3. 我能做到,本身使<?php echo do_shortcode("[nggallery id=3]"); ?>工作。

我只是不能让整个事情出现在一起。

+2

有什么点放置'<? 'echo'语句中的PHP标签? – 2012-01-16 14:22:39

回答

1

为什么你把<?php ?>放在你的echo里面?

<?php 
foreach ($gallery_ids as $gallery) 
{ 
    echo '<div class="tgallery" rel="'.$gallery['gid'].'">'.do_shortcode('[nggallery id='.$gallery['gid'].']').'</div>'; 
} 
?> 
+1

这工作!谢谢! – Trip 2012-01-16 14:30:47

0

你已经 “在” PHP的,所以你开始标记引起的问题:

<?php echo do_shortcode("[nggallery id='.$gallery['gid'].']"); ?> 

它应该是这样的:

echo '<div class="tgallery" rel="'.$gallery['gid'].'">' . do_shortcode('[nggallery id='.$gallery['gid'].']') . '</div>'; 
2

你混插的PHP和HTML,将"<?php echo"放置在已有的php中。

<div class="tgallery" rel="<?php echo $gallery['gid'];?>"> 
<?php echo do_shortcode('[nggallery id="'.$gallery['gid'].'"]'); ?> 
</div> 
1

问题

任意选取字符串连接或打开/关闭PHP的HTML。你不能像上面所做的那样结合两者。

echo '<div class="tgallery" rel="'.$gallery['gid'].'"> 
     <?php echo do_shortcode("[nggallery id='.$gallery['gid'].']"); ?> 
     </div>'; 

代码的第二线的上方不作为<?php ... ?>之间的代码将不被PHP,当它被包含在一个字符串解析的串内的归属。

解决方案

级联

我有固定的代码中使用以下连接:

foreach ($gallery_ids as $gallery) { 
    $shortcode = do_shortcode("[nggallery id={$gallery['gid']}]"); 
    echo '<div class="tgallery" rel="' . $gallery['gid'] . '">' . $shortcode . '</div>'; 
} 

打开和关闭PHP

这是你将如何使用PHP“模板做“:

<?php foreach($gallery_ids as $gallery): ?> 
    <div class="tgallery" rel="<?php echo $gallery['gid']; ?>"> 
     <?php echo do_shortcode("[nggallery id={$gallery['gid']}]"); ?> 
    </div> 
<?php endforeach; ?> 
0
<?php 
foreach ($gallery_ids as $gallery) { 
    echo "<div class=\"tgallery\" rel=\"{$gallery["gid"]}\">". do_shortcode("[nggallery id=\"{$gallery["gid"]}\"]") ."</div>"; 
} 
?> 
0

试试这个....

<?php 
foreach ($gallery_ids as $gallery) { 
    echo '<div class="tgallery" rel="'.$gallery['gid'].'">'.do_shortcode("[nggallery id=".$gallery['gid']."]").'</div>'; 
} 
?> 

你有一个PHP statment

内尝试Notepad然后将颜色代码的PHP代码,这样你就可以清楚地看到什么报价等你有错