WordPress.org

Ready to get started?Download WordPress

Codex

it:Riferimento funzioni/get post types

Contents

Descrizione

Restituisce i tipi di post registrati trovati in $wp_post_types.

Utilizzo

 <?php get_post_types$args$output$operator ?> 

Parametri

$args
(array) (opzionale) Un array di argomenti da confrontare con i tipi di post.
Default: array()

Alcuni di questi includono:

  • public - Booleano. Se true, solo i tipi di post pubblici verranno restituiti.
  • publicly_queryable - Booleano
  • exclude_from_search - Booleano
  • show_ui - Booleano
  • capability_type
  • hierarchical
  • menu_position
  • menu_icon
  • permalink_epmask
  • rewrite
  • query_var
  • _builtin - Booleano. Se true, verranno restituiti i tipi di post predefiniti di WordPress. Utilizzare false per restituire solo i tipi di post peronalizzati.
$output
(string) (opzionale) Il tipo di output da restituire, 'names' o 'objects'.
Default: 'names'
$operator
(string) (opzionale) Operatore (and/or) da usare con molteplici $args.
Default: 'and'

Valori restituiti

(array) 
Una lista di nomi di post oppure oggetti.

Esempi

Utilizzo standard

La chiamata a get_post_types restituisce i tipi di post registrati.

<?php $post_types = get_post_types(); ?>

Stampare una lista di tutti i tipi di post registrati

<?php

$post_types = get_post_types( '', 'names' ); 

foreach ( $post_types as $post_type ) {

   echo '<p>' . $post_type . '</p>';
}

?>

Stampare una lista di tutti i tipi di post personalizzati pubblici

I tipi di post pubblici integrati sono post, page e attachment. Impostando '_builtin' a false, questi vengono esclusi e vengono mostrati solo i tipi di post pubblici personalizzati.

<?php

$args = array(
   'public'   => true,
   '_builtin' => false
);

$output = 'names'; // names oppure objects, si noti che names è il valore predefinito
$operator = 'and'; // 'and' oppure 'or'

$post_types = get_post_types( $args, $output, $operator ); 

foreach ( $post_types  as $post_type ) {

   echo '<p>' . $post_type . '</p>';
}

?>

Stampare un tipo di post con un certo nome

Questo esempio utilizza l'output 'object' per recuperare il tipo di post chiamato 'property':

<?php

$args = array(
   'name' => 'property'
);

$output = 'objects'; // names oppure objects

$post_types = get_post_types( $args, $output );

foreach ( $post_types  as $post_type ) {

   echo '<p>' . $post_type->name . '</p>';
}

?>

Note

Si faccia attenzione quando si recuperano i tipi di post personalizzati "pubblici" che sono stati registrati attraverso la funzione register_post_type(): i valori dati in input a tale funzione non sono elaborati in modo intelligente, per cui se si impostano in modo verboso le opzioni per publicly_queriable, show_ui, show_in_nav_menus e exclude_from_search, questo non è considerato equivalente ad impostare l'opzione public e l'interrogazione di tipi di post pubblici non produrrà i risultati che sono stati definiti con gli espliciti argomenti equivalenti. Si veda il bug 18950.

Tipi di post integrati in WordPress:

  • post
  • page
  • attachment
  • revision
  • nav_menu_item - (Da 3.0)
  • custom post type - qualunque tipo di post (Da 3.0)

Log delle modifiche

  • 3.0 :
    • Aggiunto il parametro operator.
  • Da: 2.9

File sorgente

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

Correlati

Tipi di post: register_post_type(), add_post_type_support(), remove_post_type_support(), post_type_supports(), post_type_exists(), set_post_type(), get_post_type(), get_post_types(), get_post_type_object(), get_post_type_capabilities(), get_post_type_labels(), is_post_type_hierarchical(), is_post_type_archive(), post_type_archive_title()

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