自定义字段返回图像的数值而不是URL

时间:2012-09-22 作者:Ben

我整个上午都在试图解决我最近遇到的WordPress问题,我觉得现在是大喊和寻求帮助的时候了。

我一直在尝试创建一个人物目录,我在那里,除了整个列表页面,我已经决定是由5张图片组成的行,然后是每个图片下面的人名,然后是另一行等等。。。

每个persons页面都有一组自定义字段,其中一个是name 另一个是mainimage 其想法是,通过以下代码,我可以从people 并将它们全部显示在一个页面上,并将图像和名称链接到特定子页面的永久链接。

<?php 
    // Get the page\'s children
    $args = array( \'numberposts\' => 100, \'child_of\' => 35, \'post_type\' => page, );
    $children = get_pages( $args );

if (!empty($children)) { 
    echo \'\';
    foreach($children as $child) {
        // Get the 2 meta values from the child page
        $main_image = get_post_meta($child->ID, \'main_image\', true); 
        $name = get_post_meta($child->ID, \'name\', true); 

        // Display the meta values
        echo \'<br />\';
        echo $main_image;
        echo \'<br />\';
        echo $name;
    }
    echo \'\';
}      
?> 
它可以工作,但我得到的是图像的数字,而不是输出到图像的数字。检查自定义字段后,我发现图像值是一个数字,在我看来就像媒体ID。

我需要能够将人物页面中的ID解释为图像,或者确保将实际URL放入自定义字段值中,以便使用标准img src html输出图像。

我正在使用高级自定义字段为人员页面和个人页面创建字段集。

如果有任何帮助,我将不胜感激,因为我已经尝试了上述代码的几种变体,但无法在相关图像中更改数字。

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

使用wp_get_attachment_image( $id ).

示例代码:

print wp_get_attachment_image( 
    $main_image,
    array ( 80, 80 ),
    FALSE, 
    array ( \'alt\' => \'portrait\' )
);

SO网友:dotancohen

使用时get_field()the_field() 返回的是图像ID而不是预期的返回值,这是acf_add_local_field_group() 未运行。因此,ACF正在从数据库中提取原始值,但无法确定所需的格式。

要解决此问题,请确保acf_add_local_field_group() 从运行init 钩子,不是admin_* 挂钩。

结束

相关推荐

images within style sheet

我希望有人能在这方面帮助我,因为这已经开始让我抓狂了。我已经搜索了好几个小时,想找到一种在我的样式表中放置图像路径的方法,但一直没有找到。路径不能是绝对路径或“主题相关”路径。解决问题的唯一方法是在html文件中添加以下内容:<style type=\"text/css\"> #menu .menu-drop .menu-label { background: url(<?php echo get_template_directory_uri().