【问题标题】:Custom Fields/Values displaying out of order自定义字段/值显示乱序
【发布时间】:2013-06-01 20:44:32
【问题描述】:

我正在使用 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 上托管时,图像是乱序的。我不知道是什么导致了这种差异。当我使用 Types 中的简码而不是上面的 php 来显示图像时,它们是按顺序排列的,但我没有使用 Fancybox 的选项。我还想知道是否有更好的方法来显示来自 Wordpress 的图像,该方法将为图像插入 alt 标记。

【问题讨论】:

    标签: wordpress wordpress-theming custom-type


    【解决方案1】:

    我也遇到了这个问题,你的第一个回答让我找到了一个更严格的解决方案。

    我也使用了 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,您可以获得有关该附件所需的所有信息,例如标题等。

    【讨论】:

    • 这是一个更好的解决方案!谢谢!
    【解决方案2】:

    我想出了一个解决办法来让它工作。它并不理想,但它有效。

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

    【讨论】:

      猜你喜欢
      • 2020-04-04
      • 2017-05-22
      • 2020-07-02
      • 2022-07-07
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多