使用自定义媒体字段数据更改<img/>

时间:2015-11-28 19:18:52

标签: php wordpress filter action hook

我使用以下代码将一些自定义字段添加到媒体附件详细信息...

function aj_attachment_field_audio_url( $form_fields, $post ) {

$form_fields['aj-audio-url'] = array(
    'label' => 'Audio File URL',
    'input' => 'text',
    'value' => get_post_meta( $post->ID, 'aj-audio_url', true ),
    'helps' => 'Add Audio URL',
);

return $form_fields;
}

add_filter( 'attachment_fields_to_edit', 'aj_attachment_field_audio_url', 10, 2 );

function aj_attachment_field_audio_url_save( $post, $attachment ) {

if( isset( $attachment['aj-audio-url'] ) )
    update_post_meta( $post['ID'], 'aj_audio_url', esc_url( $attachment['aj-audio-url'] ) );
return $post;
}

add_filter( 'attachment_fields_to_save', 'aj_attachment_field_audio_url_save', 10, 2 );
?>

我现在迷失了如何改变我的img标签以包含data-audio_url =“”的新信息。

基本上任何时候有一个图像(添加到内容wysiwyg)与该字段,我想将其添加到img标记。

任何帮助都会得到满足。

谢谢你

1 个答案:

答案 0 :(得分:0)

使用get_image_tag()可能会获得您想要的位置。以下未经过测试,但应该可以使用。

function get_image_tag( $id, $alt, $title, $align, $size ) {

    //Getting the meta data
    $aj_audio_url = get_post_meta( $id, 'aj_audio_url', true );

    //If not empty add the audio_url
    if ( ! empty( $aj_audio_url ) ) {
       $html = '<img src="' . esc_attr($img_src) . '" alt="' . esc_attr($alt) . '" ' . $title . $hwstring . 'class="' . $class . ' data-audio_url="' . $aj_audio_url .  '"/>';

       return apply_filters( 'get_image_tag', $html, $id, $alt, $title, $align, $size );
    }
}

在此处获取更多信息和示例: https://developer.wordpress.org/reference/functions/get_post_meta/