Restituire il tipo di pagina corrente
Esiste una funzione che restituisce semplicemente il "tipo di pagina" corrente invece di utilizzare is_page(), is_preview(), is_single(), is_archive(), ecc?
Ad esempio: posso trovare il "post type" corrente ma non riesco a trovare il corrispondente "tipo di pagina".

Ti serve una tua funzione helper che ti restituisca ciò di cui hai bisogno. Potrebbe essere qualcosa come questa:
function wpse8170_loop() {
global $wp_query;
$loop = 'notfound';
if ( $wp_query->is_page ) {
$loop = is_front_page() ? 'front' : 'page';
} elseif ( $wp_query->is_home ) {
$loop = 'home';
} elseif ( $wp_query->is_single ) {
$loop = ( $wp_query->is_attachment ) ? 'attachment' : 'single';
} elseif ( $wp_query->is_category ) {
$loop = 'category';
} elseif ( $wp_query->is_tag ) {
$loop = 'tag';
} elseif ( $wp_query->is_tax ) {
$loop = 'tax';
} elseif ( $wp_query->is_archive ) {
if ( $wp_query->is_day ) {
$loop = 'day';
} elseif ( $wp_query->is_month ) {
$loop = 'month';
} elseif ( $wp_query->is_year ) {
$loop = 'year';
} elseif ( $wp_query->is_author ) {
$loop = 'author';
} else {
$loop = 'archive';
}
} elseif ( $wp_query->is_search ) {
$loop = 'search';
} elseif ( $wp_query->is_404 ) {
$loop = 'notfound';
}
return $loop;
}

<?php
var_dump(get_query_var('post_type'));
ma anche quella pagina può essere un singolo, un archivio o qualsiasi altra cosa...
Cosa stai cercando di ottenere? Forse in quel caso sarà più chiaro ciò di cui hai bisogno.
aggiornamento. dai un'occhiata alla funzione di esempio del tema che puoi usare per raggiungere questo obiettivo. La funzione si chiama twentyeleven_body_classes dal tema Twentyeleven. Restituisce classi che possono essere usate per il filtro body_classes
function twentyeleven_body_classes( $classes ) {
if ( function_exists( 'is_multi_author' ) && ! is_multi_author() )
$classes[] = 'single-author';
if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) )
$classes[] = 'singular';
return $classes;
}
nulla ti impedisce di aggiungere altre classi. is_archive() o qualcos'altro... in questo caso ottieni i tipi di pagina che desideri.

Se inserisci questo tag template all'interno del tag Body <?php body_class(); ?>
lo visualizzerà nel tuo codice, ad esempio <body <?php body_class(); ?>>
Questo ti fornirà i template di riferimento per la pagina specifica.
In alternativa, potresti visualizzare il percorso del template della pagina richiamato, ad esempio page.php o single-posttype.php, utilizzando questo codice: <?php echo get_page_template() ?>

Arrivo un po' in ritardo ma una soluzione migliore e più compatta utilizzando array_filter sarebbe:
function getPage( $arrayIn ) {
$prefix = 'is_';
// Filtra l'array mantenendo solo le chiavi che iniziano con il prefisso
$array = array_filter( array_filter( (array) $arrayIn, function ( $key ) use ( $prefix ) {
return ( strpos( $key, $prefix ) === 0 );
}, ARRAY_FILTER_USE_KEY ) );
// Rimuove la chiave 'is_singular' dall'array
unset( $array['is_singular'] );
// Restituisce il nome della pagina senza il prefisso
return preg_replace( '/^' . preg_quote( $prefix, '/' ) . '/', '', key( $array ) );
}
