Switch language

wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren




update_metadata [ WordPress Function ]

update_metadata ( $meta_type, $object_id, $meta_key, $meta_value, $prev_value = '' )
Parameter:
  • (string) $meta_type Type of object metadata is for (e.g., comment, post, or user)
  • (int) $object_id ID of the object metadata is for
  • (string) $meta_key Metadata key
  • (string) $meta_value Metadata value
  • (string) $prev_value Optional. If specified, only update existing metadata entries with the specified value. Otherwise, update all entries.
Nutzt:
Gibt zurück:
  • (bool) True on successful update, false on failure.
Definiert in:



Update metadata for the specified object. If no value already exists for the specified object ID and metadata key, the metadata will be added.

Source


<?php
function update_metadata($meta_type$object_id$meta_key$meta_value$prev_value '') {
    if ( !
$meta_type || !$meta_key )
        return 
false;

    if ( !
$object_id absint($object_id) )
        return 
false;

    if ( ! 
$table _get_meta_table($meta_type) )
        return 
false;

    global 
$wpdb;

    
$column esc_sql($meta_type '_id');
    
$id_column 'user' == $meta_type 'umeta_id' 'meta_id';

    
// expected_slashed ($meta_key)
    
$meta_key stripslashes($meta_key);
    
$passed_value $meta_value;
    
$meta_value stripslashes_deep($meta_value);
    
$meta_value sanitize_meta$meta_key$meta_value$meta_type );

    
$check apply_filters"update_{$meta_type}_metadata"null$object_id$meta_key$meta_value$prev_value );
    if ( 
null !== $check )
        return (bool) 
$check;

    if ( ! 
$meta_id $wpdb->get_var$wpdb->prepare"SELECT $id_column FROM $table WHERE meta_key = %s AND $column = %d"$meta_key$object_id ) ) )
        return 
add_metadata($meta_type$object_id$meta_key$passed_value);

    
// Compare existing value to new value if no prev value given and the key exists only once.
    
if ( empty($prev_value) ) {
        
$old_value get_metadata($meta_type$object_id$meta_key);
        if ( 
count($old_value) == ) {
            if ( 
$old_value[0] === $meta_value )
                return 
false;
        }
    }

    
$_meta_value $meta_value;
    
$meta_value maybe_serialize$meta_value );

    
$data  compact'meta_value' );
    
$where = array( $column => $object_id'meta_key' => $meta_key );

    if ( !empty( 
$prev_value ) ) {
        
$prev_value maybe_serialize($prev_value);
        
$where['meta_value'] = $prev_value;
    }

    
do_action"update_{$meta_type}_meta"$meta_id$object_id$meta_key$_meta_value );

    if ( 
'post' == $meta_type )
        
do_action'update_postmeta'$meta_id$object_id$meta_key$meta_value );

    
$wpdb->update$table$data$where );

    
wp_cache_delete($object_id$meta_type '_meta');

    
do_action"updated_{$meta_type}_meta"$meta_id$object_id$meta_key$_meta_value );

    if ( 
'post' == $meta_type )
        
do_action'updated_postmeta'$meta_id$object_id$meta_key$meta_value );

    return 
true;
}
?>

Beispiele [ wp-snippets.com ]

Top Google Suchergebnisse

Mehr ...

Nutzerduskussionen [ wordpress.org ]

0 Nutzerkommentare

Noch keine. Sei der Erste!

Neu hinzufügen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics