WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:Riferimento funzioni/get children

Contents

Descrizione

get_children() recupera allegati, revisioni o sottopagine, possibilmente per post genitore. Lavora in modo simile a get_posts().

Sinossi

array $children =& get_children( mixed $args = "", constant $output = OBJECT);

Valori restituiti

Restituisce un array associativo di post (di tipo variabile impostato dal parametro $output) con gli ID dei post come chiavi dell'array, o un array vuoto se nessun post viene trovato.

Prima della versione 2.9, il valore restituito era false quando nessun figlio veniva trovato.

Parametri predefiniti (Version 2.7)

$defaults = array( 
    'post_parent' => 0,
    'post_type'   => 'any', 
    'numberposts' => -1,
    'post_status' => 'any'
);

Parametri

Si veda get_posts() per una lista completa di parametri.

Dalla versione 2.6, bisogna passare un valore non vuoto per il parametro post_type (può essere attachment o page).

$args
(mixed) Passare un array imposta parecchi parametri (si veda sotto). Passare un ID numerico o un oggetto Post recupera i figli di quel post; passare un valore vuoto recupera i figli del post o della pagina corrente.
$args['numberposts']
(integer) Numero di post figli da recuperare. Opzionale; default: -1 (illimitati)
$args['post_parent']
(integer) Passare l'ID di un post o di una pagina per ottenere i suoi figli. Passare 0 per ottenere gli allegati senza il genitore. Passare null per ottenere qualunque figlio indipendentemente dal genitore. Opzionale; default: 0 (nessun genitore)
$args['post_type']
(string) Qualunque valore della colonna post_type nella tabella dei post, come attachment, page o revision; oppure la parola chiave any. Default: any
$args['post_status']
(string) Qualunque valore della colonna post_status nella tabella dei post, come publish, draft o inherit; oppure la parola chiave any. Default: any
$args['post_mime_type']
(string) Un tipo mime completo o parziale, es. image, video, video/mp4, che viene confrontato con il campo post_mime_type di un post
$output
(constant) Tipo dell'array restituito da questa funzione: i valori possibili sono OBJECT, ARRAY_A, ARRAY_N. Opzionale; default: OBJECT

Esempi

Se si vuole solo recuperare o stampare gli allegati, è probabilmente più facile usare get_posts().

$images =& get_children( 'post_type=attachment&post_mime_type=image' );

$videos =& get_children( 'post_type=attachment&post_mime_type=video/mp4' );

if ( empty($images) ) {
  // nessun allegato qui
} else {
  foreach ( $images as $attachment_id => $attachment ) {
    echo wp_get_attachment_image( $attachment_id, 'full' );
  }
}

//  Se non serve gestire un risultato vuoto:

foreach ( (array) $videos as $attachment_id => $attachment ) {
  echo wp_get_attachment_link( $attachment_id );
}

Mostrare la prima immagine associata al post

Questa funzione recupera la prima immagine associata al post

<?php
function echo_first_image( $postID ) {
  $args = array(
    'numberposts' => 1,
    'order' => 'ASC',
    'post_mime_type' => 'image',
    'post_parent' => $postID,
    'post_status' => null,
    'post_type' => 'attachment',
  );

  $attachments = get_children( $args );

  if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
      $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' )  ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) : wp_get_attachment_image_src( $attachment->ID, 'full' );

      echo '<img src="' . wp_get_attachment_thumb_url( $attachment->ID ) . '" class="current">';
    }
  }
}

Mostrare la prima immagine associata al post e cambiare la chiave dell'array

Nell'esempio qui sopra, un array primario ha come chiave l'ID dell'immagine (esattamente ciò che stiamo cercando - poiché non lo conosciamo come facciamo ad accedervi?). Il codice qui sotto fornisce un metodo più facile per gestire l'informazione sull'immagine: l'array $child_image. Deve essere usato nel loop.

$args = array(
	'numberposts' => 1,
	'order'=> 'DESC',
	'post_mime_type' => 'image',
	'post_parent' => $post->ID,
	'post_type' => 'attachment'
	);

$get_children_array = get_children($args,ARRAY_A);  //restituisce Array ( [$image_ID]... 
$rekeyed_array = array_values($get_children_array);
$child_image = $rekeyed_array[0];  


print_r($child_image);  	//Mostra il contenuto dell'array $child_image.
echo $child_image['ID'];   	//Mostra l'ID di $child_image.


Log delle modifiche

Da: 2.0.0

File sorgente

get_children() si trova in wp-includes/post.php.

Correlati

get_children() chiama get_posts(), che chiama $WP_Query->get_posts().

wp_get_attachment_link(), get_page_children()

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.