专注国内外云服务器
分享建站技术教程

WordPress开发函数add_metadata()

立即购买

阿里云服务器 ¥102元/年 云数据库37.5元/年 限时

个人、企业均可购买 | 更多配置0.8折特惠

吾上云WORDPRESS教程最新“WordPress开发函数add_metadata()”

WordPress开发函数add_metadata(),为指定的对象添加元数据。

用法:

add_metadata( string $meta_type, int $object_id, string $meta_key, mixed $meta_value, bool $unique = false )

参数

$meta_type

(string) (必需) 对象元数据的类型为。接受’post’、’comment’、’term’、’user’或任何其他具有关联元表的对象类型。

$object_id

(int) (必需) 对象元数据的ID。

$meta_key

(string) (必需) 元数据的关键。

$meta_value

(mixed) (必需) 元数据的值。如果是非标量,则必须是可序列化的。

$unique

(bool) (可选) 指定的元数据键对于对象是否应该是唯一的。如果为true,并且对象已经有指定元数据键的值,则不会进行任何更改。

默认值: false

返回

(int|false) 成功时为元ID,失败时为false。

来源:

文件: wp-includes/meta.php

function add_metadata( $meta_type, $object_id, $meta_key, $meta_value, $unique = false ) {

global $wpdb;

if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {

return false;

}

$object_id = absint( $object_id );

if ( ! $object_id ) {

return false;

}

$table = _get_meta_table( $meta_type );

if ( ! $table ) {

return false;

}

$meta_subtype = get_object_subtype( $meta_type, $object_id );

$column = sanitize_key( $meta_type . ‘_id’ );

// expected_slashed ($meta_key)

$meta_key = wp_unslash( $meta_key );

$meta_value = wp_unslash( $meta_value );

$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type, $meta_subtype );

/**

* Short-circuits adding metadata of a specific type.

*

* The dynamic portion of the hook, `$meta_type`, refers to the meta object type

* (post, comment, term, user, or any other type with an associated meta table).

* Returning a non-null value will effectively short-circuit the function.

*

* @since 3.1.0

*

* @param null|bool $check Whether to allow adding metadata for the given type.

* @param int $object_id ID of the object metadata is for.

* @param string $meta_key Metadata key.

* @param mixed $meta_value Metadata value. Must be serializable if non-scalar.

* @param bool $unique Whether the specified meta key should be unique for the object.

*/

$check = apply_filters( “add_{$meta_type}_metadata”, null, $object_id, $meta_key, $meta_value, $unique );

if ( null !== $check ) {

return $check;

}

if ( $unique && $wpdb->get_var(

$wpdb->prepare(

“SELECT COUNT(*) FROM $table WHERE meta_key = %s AND $column = %d”,

$meta_key,

$object_id

)

) ) {

return false;

}

$_meta_value = $meta_value;

$meta_value = maybe_serialize( $meta_value );

/**

* Fires immediately before meta of a specific type is added.

*

* The dynamic portion of the hook, `$meta_type`, refers to the meta object type

* (post, comment, term, user, or any other type with an associated meta table).

*

* @since 3.1.0

*

* @param int $object_id ID of the object metadata is for.

* @param string $meta_key Metadata key.

* @param mixed $_meta_value Metadata value. Serialized if non-scalar.

*/

do_action( “add_{$meta_type}_meta”, $object_id, $meta_key, $_meta_value );

$result = $wpdb->insert(

$table,

array(

$column => $object_id,

‘meta_key’ => $meta_key,

‘meta_value’ => $meta_value,

)

);

if ( ! $result ) {

return false;

}

$mid = (int) $wpdb->insert_id;

wp_cache_delete( $object_id, $meta_type . ‘_meta’ );

/**

* Fires immediately after meta of a specific type is added.

*

* The dynamic portion of the hook, `$meta_type`, refers to the meta object type

* (post, comment, term, user, or any other type with an associated meta table).

*

* @since 2.9.0

*

* @param int $mid The meta ID after successful update.

* @param int $object_id ID of the object metadata is for.

* @param string $meta_key Metadata key.

* @param mixed $_meta_value Metadata value. Serialized if non-scalar.

*/

do_action( “added_{$meta_type}_meta”, $mid, $object_id, $meta_key, $_meta_value );

return $mid;

}

更新日志:
用户贡献的笔记

(由getmanzooronline贡献- 11个月前)

例子:

为注释添加额外的元值。这里的location是元键,$location是变量的值。

function add_comment_location($comment_id, $location) {

return add_metadata( ‘comment’, $comment_id, ‘location’, wp_slash( $location ) );

}

文章来源于互联网WORDPRESS教程:WordPress开发函数add_metadata(),
阿里云服务器89元起,点击购买
腾讯云服务器95元/年起 点击购买

相关推荐: 如何解决浏览器400错误请求报错

当网站无法加载时,提示你一个错误码而你又束手无措,那真的很烦人。最为常见的一个是400 Bad Request。但当你了解为什么会发生这种情况,你便知道如何解决问题了。 4xx状态代码与来自客户端的无效或损坏请求有关。下面我们将详细说明引起400 Bad Re…

赞(0)
未经允许不得转载:吾上云 » WordPress开发函数add_metadata()
分享到: 更多 (0)
  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

评论 抢沙发

评论前必须登录!

 

吾上云 专注服务器选购

购买云服务器联系我们