如何在编辑器中将自定义数据追加到图像?

时间:2013-09-08 作者:robalan

我已经在我的图片细节中添加了一个自定义元字段,以便客户可以向他们的照片中添加一个数字(一种设计选择)。当用户插入帖子时,数据需要显示在编辑器中插入的每个图像下(如标题)(我不能将标题用于我的目的,因为WordPress不允许我嵌套短代码,我使用的是一个网格列插件,它依赖于短代码)。

发现你确实可以嵌套短代码编辑器只是没有在正确的位置插入带有标题的图像,有人告诉我你不能嵌套它们。他们的意思是不能嵌套相同的短代码:http://codex.wordpress.org/Shortcode_API#Nested_Shortcodes

我仍然想知道是否可以添加一个专门用于此目的的字段,而不是标题。下面是我用来添加自定义元字段的内容:

/**
 * Add image number metabox to the media details
 */

function ra_attachment_fields_to_edit($form_fields, $post) {
    $form_fields["image_number"] = array(
        "label" => __("Image Number"),
        "input" => "text", // this is default if "input" is omitted
        "value" => get_post_meta($post->ID, "_image_number", true),
    );
   return $form_fields;
}
add_filter("attachment_fields_to_edit", "ra_attachment_fields_to_edit", null, 2);

/*
 * Save it
 */
function ra_attachment_fields_to_save($post, $attachment) {
    if( isset($attachment[\'image_number\']) ){
        // update_post_meta(postID, meta_key, meta_value);
        update_post_meta($post[\'ID\'], \'_image_number\', $attachment[\'image_number\']);
    }
    return $post;
}
add_filter("attachment_fields_to_save", "ra_attachment_fields_to_save", null , 2);

1 个回复
SO网友:Josh Smith

使用get_post_meta(); 在模板中获取附加到该图像的元数据。

<div class="img-holder">
    <img src="https://dummyimage.com/300x200/bada55/0011ff&text=300x200" alt="">
    <p class="img-number"><?php echo get_post_meta($post->ID, \'_image_number\', true) ?></p>
</div>

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢

如何在编辑器中将自定义数据追加到图像? - 小码农CODE - 行之有效找到问题解决它

如何在编辑器中将自定义数据追加到图像?

时间:2013-09-08 作者:robalan

我已经在我的图片细节中添加了一个自定义元字段,以便客户可以向他们的照片中添加一个数字(一种设计选择)。当用户插入帖子时,数据需要显示在编辑器中插入的每个图像下(如标题)(我不能将标题用于我的目的,因为WordPress不允许我嵌套短代码,我使用的是一个网格列插件,它依赖于短代码)。

发现你确实可以嵌套短代码编辑器只是没有在正确的位置插入带有标题的图像,有人告诉我你不能嵌套它们。他们的意思是不能嵌套相同的短代码:http://codex.wordpress.org/Shortcode_API#Nested_Shortcodes

我仍然想知道是否可以添加一个专门用于此目的的字段,而不是标题。下面是我用来添加自定义元字段的内容:

/**
 * Add image number metabox to the media details
 */

function ra_attachment_fields_to_edit($form_fields, $post) {
    $form_fields["image_number"] = array(
        "label" => __("Image Number"),
        "input" => "text", // this is default if "input" is omitted
        "value" => get_post_meta($post->ID, "_image_number", true),
    );
   return $form_fields;
}
add_filter("attachment_fields_to_edit", "ra_attachment_fields_to_edit", null, 2);

/*
 * Save it
 */
function ra_attachment_fields_to_save($post, $attachment) {
    if( isset($attachment[\'image_number\']) ){
        // update_post_meta(postID, meta_key, meta_value);
        update_post_meta($post[\'ID\'], \'_image_number\', $attachment[\'image_number\']);
    }
    return $post;
}
add_filter("attachment_fields_to_save", "ra_attachment_fields_to_save", null , 2);

1 个回复
SO网友:Josh Smith

使用get_post_meta(); 在模板中获取附加到该图像的元数据。

<div class="img-holder">
    <img src="https://dummyimage.com/300x200/bada55/0011ff&text=300x200" alt="">
    <p class="img-number"><?php echo get_post_meta($post->ID, \'_image_number\', true) ?></p>
</div>