我正在使用Types Wordpress插件来启用自定义字段。该插件允许您在管理页面编辑器中重新排列图像的顺序。这是我的single.php中的代码,用于在自定义字段中显示多个图像,并且还有一个指向自身的链接也可以使用Fancybox:
<?php
$mykey_values_img = get_post_custom_values('wpcf-image');
if ($mykey_values_img != null) {
foreach ( $mykey_values_img as $key => $value ) {
?>
<a href="<?php echo $value; ?>" class="fancybox" rel="gallery"><img src="<?php echo $value; ?>" /></a>
<?php
} //foreach
} //if
?>
问题:
现在,这段代码完全适用于在MAMP上运行的本地副本。但是,当我把它放在iPage上托管时,图像出现故障。我不知道是什么导致了这种差异。当我使用类型中的短代码来显示图像而不是上面的php时,它们是有序的,但我没有选择使用Fancybox。我还想知道是否有更好的方法来显示Wordpress中的图像,该图像将插入图像的alt标记。
答案 0 :(得分:4)
我刚刚遇到这个问题,你的第一个答案让我得到了更严格的解决方案。
我也使用了types_render_field(),但是如果你包含'raw'参数,你可以避免字符串操作。
$images_raw = types_render_field('image', array('raw'=>'true','separator'=>';'));
$images = explode(';', $images_raw);
foreach ($images as $link) {
echo '<a href="' . $link . '" class="fancybox" rel="gallery">' . $link . '"></a>"';
}
然后,如果你讨厌,你可以从它的SRC获得附件的ID。使用该ID,您可以获得有关该附件的所有信息,例如标题或其他内容。
答案 1 :(得分:0)
我想出了一个让它运转起来的工作。它不理想但它有效。
Types插件附带了自己的php函数,用于显示名为types_render_field
的自定义字段。它按顺序显示我的图像。为了让fancybox工作,我不得不对字符串做一些破解。这是代码:
$images = ( types_render_field( "image", array( 'size' => 'full', 'alt' => get_the_title(), 'title' => get_the_title() ) ) );
$imgArray = explode(">", $images);
foreach ( $imgArray as $value ) {
$pos1 = strpos($value, 'src="', 0)+5;
$pos2 = strpos($value, '" ', $pos1);
$link = substr($value, $pos1, $pos2 - $pos1);
echo '<a href="'.$link.'" class="fancybox" rel="gallery">'.$value."></a>";
}