分享学习记录
互联网技术知识

WordPress为媒体添加自定义字段的方法

WordPress 中,我们可以很轻松的使用插件或者写代码为文章或页面添加自定义字段。可能是因为使用的场景不多,支持为媒体添加自定义字段的插件和教程确很少。

在这篇文章中,我们一起来看一下怎么为 WordPress 媒体添加自定义字段。实现代码其实很简单,也完全没必要用插件来实现。

首先,为媒体添加自定义字段表单

在下面的代码中,我们使用 attachment_fields_to_edit Hook 为媒体添加了一个 video_url 表单。

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

function add_video_url_field_to_media_uploader($form_fields, $post)
    {
        $form_fields[ 'video_url' ] = [
            'label' => __('Video URL', 'woocommerce'),
            'input' => 'text',
            'value' => get_post_meta($post->ID, '_video_url', true),
            'helps' => __('Enter the URL of the product video if this image represents a video.', 'woocommerce'),
        ];

        return $form_fields;
    }

保存数据到媒体字段中

然后,我们使用 attachment_fields_to_save Hook,在保存媒体数据的时候,顺便把前端提交过来的自定义字段的值保存在媒体自定义字段中即可。

add_filter('attachment_fields_to_save', 'save_video_url_field_to_media_uploader', 10, 2);

function save_video_url_field_to_media_uploader($post, $attachment)
    {
        if (isset($attachment[ 'video_url' ])) {
            update_post_meta($post[ 'ID' ], '_video_url', esc_url_raw($attachment[ 'video_url' ]));
        }

        return $post;
    }

如此,我们就实现了为 WordPress 媒体添加自定义字段的功能。需要注意的是,上面代码中的 $post ,不是指的每一篇文章,而是保存着媒体数据的「媒体自定义文章类型」。

添加保存了自定义字段之后,具体怎么使用,我们根据业务需求去调用这个媒体字段,然后做判断和显示即可。

赞(0)
文章名称:《WordPress为媒体添加自定义字段的方法》
文章链接:https://www.bailuze.com/20148.html
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本站专注于百度、搜狗、360、谷歌、bing等常见搜索引擎的优化,关键词排名的提高,诚意咨询邮箱526009505@qq.com
分享到