如何在先进的自定义字段WordPress帖子中获得图像的网址

thtygnil  于 2023-03-01  发布在  WordPress
关注(0)|答案(4)|浏览(113)

我已经创建了一个自定义后类型称为“相册”。我有5个自定义字段在我的每个职位。3文本字段,1图像字段和1文件上传字段。我得到3文本值正确在我的模板页面。但我不能得到图像和文件上传字段的网址部分。这里是我的代码:

<?php

$posts = get_posts(array(
'post_type' => 'albums'
));

if($posts)
{
echo '<ul>';

foreach($posts as $post)
{
    echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
         the_field('album_category'); echo "<br>";
          the_field('album_name'); echo "<br>";
           the_field('slide_name'); echo "<br>";
            the_field('slide_description'); echo "<br>";
            the_field('audio_file'); echo "<br>";
}

echo '</ul>';
}

?>

这是我当前的输出
布谷鸟-1
鸟类
杜鹃
66,,2668245306_027a56fe50_b,,,图像/JPEG格式,http://localhost/YIB/wordpress/wp-content/uploads/2016/03/2668245306_027a56fe50_b-1.jpg,1024,768,阵列显示
样品样品样品样品样品样品样品样品
18,,人体机能正常-蜈蚣目,,“人体机能正常-蜈蚣目,”音频/mpeg,http://localhost/YIB/wordpress/wp-content/uploads/2016/03/eudynamys-scolopacea.mp3

zdwk9cvp

zdwk9cvp1#

试试这个。
图像字段和文件字段返回数组

$image_m =  get_field('slide_description');
$image_a = get_field('audio_file');
echo '<pre>';
print_r($image_m);
print_r($image_a);
echo '</pre>';

假设输出为

array(
 ['name'] => 'test';
 ['url'] => 'http://example.mp3';

)

然后写入<?php echo $image_m['url'];?>而不是<?php the_field('audio_file');?>

0vvn1miw

0vvn1miw2#

试试这个

<?php
    $imgurl = get_field('slide_image',$post->ID);

    if (filter_var($imgurl, FILTER_VALIDATE_URL) === FALSE)
    {
      $imgurl = wp_get_attachment_url($imgurl);
    }
       echo '<img src="' . $imgurl . '" alt="image">';
    ?>
qnakjoqk

qnakjoqk3#

媒体的自定义字段,如图像、视频或上传到媒体库的文件,以数组形式保存为 meta。您可以尝试使用此简单函数从自定义字段的元中提取URL值。此函数遍历数组,并在检测到元值中的有效URL时返回URL元值。
把这个函数添加到你的functions.php中。

function get_post_asset_url($postid, $slug) {
  $meta_array = get_post_meta($postid, $slug, true);
  foreach ($meta_array as $meta) { 
    if (filter_var($meta, FILTER_VALIDATE_URL)){ return $meta; } 
  } 
}

在模板中,在“echo”语句中调用此函数:

echo get_post_asset_url($post->ID, "your_asset_field_name");

例如,在图像场上:

<img src="<?php echo get_post_asset_url($post->ID, "image_field_1"); ?>" width="100" height="100">
cfh9epnr

cfh9epnr4#

验证和测试代码:

<?php 

$image = get_field('instructor-image');

if( !empty($image) ): ?>

<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />

<?php endif; ?>

相关问题