mirror of
https://github.com/WordPress/WordPress.git
synced 2025-03-09 07:00:01 +00:00
Use call_user_func() when applying filter. Bug 63. Patch from Bill Zeller.
git-svn-id: http://svn.automattic.com/wordpress/trunk@1713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5a22f20cab
commit
e61cfd4b02
@ -387,6 +387,81 @@ function delete_option($name) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function add_post_meta($post_id, $key, $value, $unique = false) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
if ($unique) {
|
||||||
|
if( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key
|
||||||
|
= '$key' AND post_id = '$post_id'") ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$wpdb->query("INSERT INTO $wpdb->postmeta
|
||||||
|
(post_id,meta_key,meta_value)
|
||||||
|
VALUES ('$post_id','$key','$value')
|
||||||
|
");
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function delete_post_meta($post_id, $key, $value = '') {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
if (empty($value)) {
|
||||||
|
$meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE
|
||||||
|
post_id = '$post_id' AND meta_key = '$key'");
|
||||||
|
} else {
|
||||||
|
$meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE
|
||||||
|
post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$meta_id) return false;
|
||||||
|
|
||||||
|
if (empty($value)) {
|
||||||
|
$wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id'
|
||||||
|
AND meta_key = '$key'");
|
||||||
|
} else {
|
||||||
|
$wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id'
|
||||||
|
AND meta_key = '$key' AND meta_value = '$value'");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_post_meta($post_id, $key) {
|
||||||
|
global $wpdb, $post_meta_cache;
|
||||||
|
|
||||||
|
if (isset($post_meta_cache[$post_id][$key])) {
|
||||||
|
return $post_meta_cache[$post_id][$key];
|
||||||
|
}
|
||||||
|
|
||||||
|
$metalist = $wpdb->get_results("SELECT meta_value FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'", ARRAY_N);
|
||||||
|
|
||||||
|
$values = array();
|
||||||
|
if ($metalist) {
|
||||||
|
foreach ($metalist as $metarow) {
|
||||||
|
$values[] = $metarow[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $values;
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_post_meta($post_id, $key, $value, $prev_value = '') {
|
||||||
|
global $wpdb, $post_meta_cache;
|
||||||
|
|
||||||
|
if (empty($prev_value)) {
|
||||||
|
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
|
||||||
|
meta_key = '$key' AND post_id = '$post_id'");
|
||||||
|
} else {
|
||||||
|
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
|
||||||
|
meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function get_postdata($postid) {
|
function get_postdata($postid) {
|
||||||
global $post, $wpdb;
|
global $post, $wpdb;
|
||||||
|
|
||||||
@ -1040,7 +1115,7 @@ function apply_filters($tag, $string) {
|
|||||||
foreach ($wp_filter[$tag] as $priority => $functions) {
|
foreach ($wp_filter[$tag] as $priority => $functions) {
|
||||||
if (!is_null($functions)) {
|
if (!is_null($functions)) {
|
||||||
foreach($functions as $function) {
|
foreach($functions as $function) {
|
||||||
$string = $function($string);
|
$string = call_user_func($function, $string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user