我试过这么做一次,差点就成功了。这是我学到的。根据您的需要,此解决方案可能是可行的。
将内容插入编辑器时,您可以使用get_image_tag
过滤器:
/**
* Filter to get caption and append image information to it.
*
* @return text HTML content describing with media attribution
**/
add_filter(\'get_image_tag\', \'my_append_media_credit\', 20, 2);
function my_append_media_credit( $html, $id ) {
$my_media_string = /* get your fields and put them together nicely */;
$html = $html . $my_media_string;
return $html;
}
然而,你会注意到,我提到它只适用于插入到帖子中的图像(可能会更新,但我需要检查一下)。所以,如果你是从零开始创建一个网站,这可能会让你走得更远,但我一直坚持将其追溯到帖子中的现有图像。
通过过滤,您可以获得带有字幕的图像的额外覆盖范围img_caption_shortcode
过滤[caption]
短代码输出,但仍然会留下没有字幕的图像,并且已经在帖子中没有显示。
太平洋标准时间2013年10月23日下午2:20更新:
下面是我用来生成$my_media_string
在上述代码中:
/**
* Function to lookup media creator fields and put them together.
*
* returns an html string with creator name and license name links.
**/
function my_media_credit_string( $my_media_id ) {
$my_name = get_post_meta( $my_media_id, \'my_creator_name\', true );
$my_name_url = get_post_meta( $my_media_id, \'my_creator_url\', true );
$my_creator = null;
if( $my_name ) {
if( $my_name_url ) {
$my_creator = \' <a href="\' . $my_name_url . \'">\' . $my_name . \'</a>.\';
} else {
$my_creator = \' \' . $my_name;
}
}
return \'<span class="my-media-attr">Credit:\' . $my_creator . \'</span>\';
}
因此,第一个片段将得到以下内容:
$my_media_string = $my_media_credit_string( $id );