Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




delete_metadata [ WordPress Function ]

delete_metadata ( $meta_type, $object_id, $meta_key, $meta_value = '', $delete_all = false )
Parameters:
  • (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 Optional. Metadata value. If specified, only delete metadata entries with this value. Otherwise, delete all entries with the specified meta_key.
  • (bool) $delete_all Optional, default is false. If true, delete matching metadata entries for all objects, ignoring the specified object_id. Otherwise, only delete matching metadata entries for the specified object_id.
Uses:
Returns:
  • (bool) True on successful delete, false on failure.
Defined at:



Delete metadata for the specified object.

Source


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

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

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

    global 
$wpdb;

    
$type_column esc_sql($meta_type '_id');
    
$id_column 'user' == $meta_type 'umeta_id' 'meta_id';
    
// expected_slashed ($meta_key)
    
$meta_key stripslashes($meta_key);
    
$meta_value stripslashes_deep($meta_value);

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

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

    
$query $wpdb->prepare"SELECT $id_column FROM $table WHERE meta_key = %s"$meta_key );

    if ( !
$delete_all )
        
$query .= $wpdb->prepare(" AND $type_column = %d"$object_id );

    if ( 
$meta_value )
        
$query .= $wpdb->prepare(" AND meta_value = %s"$meta_value );

    
$meta_ids $wpdb->get_col$query );
    if ( !
count$meta_ids ) )
        return 
false;

    if ( 
$delete_all )
        
$object_ids $wpdb->get_col$wpdb->prepare"SELECT $type_column FROM $table WHERE meta_key = %s"$meta_key ) );

    
do_action"delete_{$meta_type}_meta"$meta_ids$object_id$meta_key$_meta_value );

    
// Old-style action.
    
if ( 'post' == $meta_type )
        
do_action'delete_postmeta'$meta_ids );

    
$query "DELETE FROM $table WHERE $id_column IN( " implode','$meta_ids ) . " )";

    
$count $wpdb->query($query);

    if ( !
$count )
        return 
false;

    if ( 
$delete_all ) {
        foreach ( (array) 
$object_ids as $o_id ) {
            
wp_cache_delete($o_id$meta_type '_meta');
        }
    } else {
        
wp_cache_delete($object_id$meta_type '_meta');
    }

    
do_action"deleted_{$meta_type}_meta"$meta_ids$object_id$meta_key$_meta_value );

    
// Old-style action.
    
if ( 'post' == $meta_type )
        
do_action'deleted_postmeta'$meta_ids );

    return 
true;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



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