First pass commentmeta implementation. See #2659 props scribu.

git-svn-id: http://svn.automattic.com/wordpress/trunk@11943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
westi
2009-09-17 20:17:33 +00:00
parent eb5ed671ac
commit c67e70dd91
7 changed files with 320 additions and 152 deletions

View File

@@ -361,6 +361,88 @@ function get_comment_count( $post_id = 0 ) {
return $comment_count;
}
//
// Comment meta functions
//
/**
* Add meta data field to a comment.
*
* Post meta data is called "Custom Fields" on the Administration Panels.
*
* @since 2.9
* @uses add_metadata
* @link http://codex.wordpress.org/Function_Reference/add_comment_meta
*
* @param int $comment_id Post ID.
* @param string $key Metadata name.
* @param mixed $value Metadata value.
* @param bool $unique Optional, default is false. Whether the same key should not be added.
* @return bool False for failure. True for success.
*/
function add_comment_meta($comment_id, $meta_key, $meta_value, $unique = false) {
return add_metadata('comment', $comment_id, $meta_key, $meta_value, $unique);
}
/**
* Remove metadata matching criteria from a comment.
*
* You can match based on the key, or key and value. Removing based on key and
* value, will keep from removing duplicate metadata with the same key. It also
* allows removing all metadata matching key, if needed.
*
* @since 2.9
* @uses delete_metadata
* @link http://codex.wordpress.org/Function_Reference/delete_comment_meta
*
* @param int $comment_id comment ID
* @param string $meta_key Metadata name.
* @param mixed $meta_value Optional. Metadata value.
* @return bool False for failure. True for success.
*/
function delete_comment_meta($comment_id, $meta_key, $meta_value = '') {
return delete_metadata('comment', $comment_id, $meta_key, $meta_value);
}
/**
* Retrieve comment meta field for a comment.
*
* @since 2.9
* @uses get_metadata
* @link http://codex.wordpress.org/Function_Reference/get_comment_meta
*
* @param int $comment_id Post ID.
* @param string $key The meta key to retrieve.
* @param bool $single Whether to return a single value.
* @return mixed Will be an array if $single is false. Will be value of meta data field if $single
* is true.
*/
function get_comment_meta($comment_id, $key, $single = false) {
return get_metadata('comment', $comment_id, $key, $single);
}
/**
* Update comment meta field based on comment ID.
*
* Use the $prev_value parameter to differentiate between meta fields with the
* same key and comment ID.
*
* If the meta field for the comment does not exist, it will be added.
*
* @since 2.9
* @uses update_metadata
* @link http://codex.wordpress.org/Function_Reference/update_comment_meta
*
* @param int $comment_id Post ID.
* @param string $key Metadata key.
* @param mixed $value Metadata value.
* @param mixed $prev_value Optional. Previous value to check before removing.
* @return bool False on failure, true if success.
*/
function update_comment_meta($comment_id, $meta_key, $meta_value, $prev_value = '') {
return update_metadata('comment', $comment_id, $meta_key, $meta_value, $prev_value);
}
/**
* Sanitizes the cookies sent to the user already.
*