Paramètres

$meta_type

(string) (Requis) Type d'objet. Accepte 'post', 'comment', 'term', 'user' ou tout autre type d'objet associé à une table de méta-donnée.

$meta_id

(int) (Requis) Id d'une méta-donnée spécifique.

Retourne

(stdClass | false) Objet de la méta-donnée, false si la méta-donnée n'existe pas.

L'objet est composé des champs :

  • 'meta_key' : (string) Clé de la méta-donnée.
  • 'meta_value' : (mixed) Valeur de la méta-donnée unsérializée.
  • 'meta_id' : (string) Optionnel. Id de la méta-donnée quand le type est tout sauf 'user'.
  • 'umeta_id' : (string) Optionnel. Id de la méta-donnée quand le type est 'user'.
  • 'post_id' : (string) Optionnel. Id du poste quand le type est 'post'.
  • 'comment_id' : (string) Optionnel. Id du commentaire quand le type est 'comment'.
  • 'term_id' : (string) Optionnel. Id du terme quand le type est 'term'.
  • 'user_id' : (string) Optionnel. Id de l'utilisateur quand le type est 'user'.

Structure de la fonction get_metadata_by_mid()

Définie dans le fichier wp-includes/meta.php à la ligne 718 :

function get_metadata_by_mid( $meta_type, $meta_id ) {
    global $wpdb;

    if ( ! $meta_type || ! is_numeric( $meta_id ) || floor( $meta_id ) != $meta_id ) {
        return false;
    }

    $meta_id = intval( $meta_id );
    if ( $meta_id <= 0 ) {
        return false;
    }

    $table = _get_meta_table( $meta_type );
    if ( ! $table ) {
        return false;
    }

    /**
     * Short-circuits the return value when fetching a meta field by meta ID.
     *
     * 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 5.0.0
     *
     * @param stdClass|null $value   The value to return.
     * @param int           $meta_id Meta ID.
     */
    $check = apply_filters( "get_{$meta_type}_metadata_by_mid", null, $meta_id );
    if ( null !== $check ) {
        return $check;
    }

    $id_column = ( 'user' === $meta_type ) ? 'umeta_id' : 'meta_id';

    $meta = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE $id_column = %d", $meta_id ) );

    if ( empty( $meta ) ) {
        return false;
    }

    if ( isset( $meta->meta_value ) ) {
        $meta->meta_value = maybe_unserialize( $meta->meta_value );
    }

    return $meta;
}

Fonctions et Hook utilisés par get_metadata_by_mid()

get_{$meta_type}_metadata_by_mid

Court-circuite la valeur retournée quand un champ de méta-donnée est rapporté par son id.

maybe_unserialize()

Désérialize une donnée seulement si elle a été sérializée au préalable.

apply_filters()

Appel les fonctions qui ont été attaché à un filtre (hook).

_get_meta_table()

Retourne le nom d'une table de méta-donnée pour un type d'objet spécifié.

Où trouver la fonction get_metadata_by_mid() dans le CMS Wordpress

Sources

Codex Wordpress : get_metadata_by_mid()

Autres fonctions dans le même fichier : wp-includes/meta.php

Retour