自定义字段/值显示乱序

时间:2013-06-01 20:44:32

标签: wordpress wordpress-plugin wordpress-theming custom-type

我正在使用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标记。

2 个答案:

答案 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>";
}