Paramètres

$attachment

(int | array | object) (Requis) Id, tableau ou objet de données de l'attachement.

$output

(string) (Optionnel) Type de sortie. 'names' pour un tableau de noms de taxonomies ou 'objects' pour un tableau d'objetc de taxonomies.

Valeur par défaut : 'names'

Retourne

(string[] | WP_Taxonomy[]) Liste d'objets ou de noms de taxonomies. Tableau vide si échec.

Structure de la fonction get_attachment_taxonomies()

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

function get_attachment_taxonomies( $attachment, $output = 'names' ) {
    if ( is_int( $attachment ) ) {
        $attachment = get_post( $attachment );
    } elseif ( is_array( $attachment ) ) {
        $attachment = (object) $attachment;
    }

    if ( ! is_object( $attachment ) ) {
        return array();
    }

    $file     = get_attached_file( $attachment->ID );
    $filename = wp_basename( $file );

    $objects = array( 'attachment' );

    if ( false !== strpos( $filename, '.' ) ) {
        $objects[] = 'attachment:' . substr( $filename, strrpos( $filename, '.' ) + 1 );
    }

    if ( ! empty( $attachment->post_mime_type ) ) {
        $objects[] = 'attachment:' . $attachment->post_mime_type;

        if ( false !== strpos( $attachment->post_mime_type, '/' ) ) {
            foreach ( explode( '/', $attachment->post_mime_type ) as $token ) {
                if ( ! empty( $token ) ) {
                    $objects[] = "attachment:$token";
                }
            }
        }
    }

    $taxonomies = array();

    foreach ( $objects as $object ) {
        $taxes = get_object_taxonomies( $object, $output );

        if ( $taxes ) {
            $taxonomies = array_merge( $taxonomies, $taxes );
        }
    }

    if ( 'names' === $output ) {
        $taxonomies = array_unique( $taxonomies );
    }

    return $taxonomies;
}

Fonctions utilisées par get_attachment_taxonomies()

wp_basename()

Version i18n de WordPress de la fonction php basename().

get_object_taxonomies()

Retourne les noms ou objets des taxonomies enregistrées pour un objet de poste ou un type de poste donné.

get_post()

Retourne les données d'un poste en passant l'id ou l'objet d'un poste.

get_attached_file()

Retourne le chemin du fichier attaché en donnant l'id de l'attachement.

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

Sources

Codex Wordpress : get_attachment_taxonomies()

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

Retour