【问题标题】:Wordpress - Can't output image (from custom field) for previous and next postsWordpress - 无法为上一个和下一个帖子输出图像(来自自定义字段)
【发布时间】:2013-11-23 22:50:36
【问题描述】:

我正在开发一个投资组合网站。每当点击一个作品集时,用户就会被带到一个页面,该页面显示有关该作品的详细信息(即更多照片和信息)。还将有上一个和下一个导航链接以获取其他部分。但是,我希望上一个和下一个导航链接是下一个部分的缩略图(自定义字段是 thumbnail_photo)。这是我目前所拥有的:

<?php
  $previous_post = get_previous_post();
  $next_post = get_next_post();
  $prev_value = get_post_meta( $previous_post->ID, 'materials', $single = true);
  $next_value = get_post_meta( $next_post->ID, 'thumbnail_photo', $single = true);
?>

       <p><?php echo $prev_value; ?></p>
       <p><?php echo $next_value; ?></p>

我在调用 $prev_value 时使用了“材料”,因为“材料”是另一个自定义字段。我只是想看看它是否真的有效。它输出材料就好了,但它只输出thumbnail_photo的ID号。我无法让它引用文件名,以便输出实际图像。

我正在使用高级自定义字段插件,因此每个图像都存储为一个图像对象。所以这就是我通常输出缩略图的方式:

<?php
  $image = get_field('thumbnail_photo);
  echo $image[sizes]["thumbnail"];  // thumbnail is a reference to wordpress' thumbnail media size
?>

【问题讨论】:

    标签: wordpress post navigation next


    【解决方案1】:

    配置 ACF 输入字段时,请确保将 返回值 设置为 图像对象,而不是后面的 图像 ID更改此设置,或者如果您已经更改,则必须更新您尝试获取的帖子或帖子。因为,如果您将字段返回值设置为图像 ID,创建了帖子,现在您想更改它们的值,您必须修改所有帖子,因为每个 post_meta 都包含图像的 ID。

    ACF website 中有一个教程如何将值转换为图像:

    有身份证

    <?php
        wp_get_attachment_image( $next_value, 'thumbnail' );
    ?>
    

    另一个使用ID的例子,但这次你必须创建图像HTML,该函数返回一个包含url、宽度和高度的数组

    <?php
    
    $image = wp_get_attachment_image_src( $next_value, 'thumbnail' );
    // url = $image[0];
    // width = $image[1];
    // height = $image[2];
    ?>
    <img src="<?php echo $image[0]; ?>" />
    

    您可以检查返回值,然后写入图像,例如:

    <?php
    if( is_int( $next_value ) ) {
        wp_get_attachment_image( $next_value, 'thumbnail');
    } elseif ( is_object( $next_value ) ) {
        echo $next_value['sizes']['thumbnail'];
    } else { ?>
       <img src="<?php the_field('field_name'); ?>" alt="" />
    <?php } ?>
    

    我没有测试它,但我认为它工作正常。

    我希望这能有所帮助,对糟糕的英语感到抱歉

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多