如何使用PHP获取图像附件自定义链接 - Wordpress

时间:2014-03-07 17:02:25

标签: php wordpress image attachment

这将返回附件的链接:

    $link=wp_get_attachment_link($image->ID);

但是,我找不到从图像的附加显示设置中获取LINK TO值的方法。见下面的截图。

enter image description here

3 个答案:

答案 0 :(得分:0)

正如yoavmatchulsky所写,在您手动选择图像后,该字段由~wp-includes / js / media-views.js动态提交 但如果您有附件ID,请使用wp_get_attachment_link($ id,$ size);
大小使用'完整'
完全参考。在codex

答案 1 :(得分:0)

或者,如果您尝试使用自定义链接,则here描述的方法可能有所帮助。

基本上,在你的functions.php中,你可以添加一个类似的代码:

// Adds a custom url field to your attachment
function attachment_custom_url( $form_fields, $post ) {
        $form_fields['video-url'] = array(
        'label' => 'CustomURL',
        'input' => 'text',
        'value' => get_post_meta( $post->ID, 'custom_url', true ),
        'helps' => 'Add custom URL, if applicable',
    );
    return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'attachment_custom_url', 10, 2 );

function attachment_custom_url_save( $post, $attachment ) {
if( isset( $attachment['custom-url'] ) )
update_post_meta( $post['ID'], 'custom_url', esc_url( $attachment['custom-url'] ) );                        
    return $post;
}
add_filter( 'attachment_fields_to_save', 'attachment_custom_url_save', 10, 2 );

然后,你可以在你的php中调用它:

<?php 
<a href="'.get_post_meta($post->ID, 'custom_url', true).'">Custom Link</a>;
?>

答案 2 :(得分:0)

我知道这是一个旧线程,但是我通过获取附件的post meta解决了这个问题,

在我的安装中,自定义URL输入显示如下:

<input type="text" class="text" id="attachments-140443-foogallery_custom_url" name="attachments[140443][foogallery_custom_url]" value="https://mycustomurl.com">

因此,我假设如果第一个方括号包含帖子ID,则第二个是将此值保存在wp_postmeta表中的元键。就是这样,仅从下划线字符开始,因此它将是隐藏的元数据。因此,获得此值的更简单方法如下:

get_post_meta( get_post_thumbnail_id( get_the_ID() ), '_foogallery_custom_url', true);

当然,您需要检查帖子中是否确实有缩略图,但这很容易适应。