Risposte:
is_home()
controlla la "Pagina Messaggi", nonostante il nome della funzione un po 'confuso.
$wp_query->is_posts_page
?
Wordpress viene fornito con 7 tipi di pagine di modello principali, che possono essere determinati in questo modo
if ( is_main_query() ) {
// Error
if ( is_404() ) {
;
}
// Front page
if ( is_front_page() ) {
;
}
// Archive
if ( is_archive() ) {
;
}
// Comments popup
if ( is_comments_popup() ) {
;
}
// Search
if ( is_search() ) {
;
}
// Singular
if ( is_singular() ) {
;
}
// Home - the blog page
if ( is_home() ) {
;
}
}
is_home ti dice che hai la pagina del blog.
"Pagina dei post" è di solito un archivio di:
Ognuno di questi può essere verificato da uno dei tanti tag condizionali come
is_category()
is_tag()
is_date()
is_archive()
E molti altri ancora. Per una migliore comprensione, vai al codice http://codex.wordpress.org/Conditional_Tags
Per prima cosa controlla le cose relative ai blog come autore, tag, tipo di post
function is_blog () {
global $post;
$posttype = get_post_type($post );
return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') ) ? true : false ;
}
Ora controlla e restituisci qualcosa che vuoi avere
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
Usalo come Boss
<?php echo check_post_type();?>
Grazie a Wes Bos
Caso A . Non è necessario determinarlo all'interno del file modello principale (index.php) perché è il modello predefinito per esso [1] .
Caso B . Per determinarlo all'interno di un modello di pagina (es: page.php), è sufficiente verificarlo in questo modo:
get_option( 'page_for_posts' ) == get_the_ID()
Ho letteralmente scavato il codice sorgente [2] di esso solo per essere in grado di sapere come wordpress fa il controllo del valore. Si scopre che sta usando l'istruzione get_option( 'page_for_posts' )
per conoscere l'ID del post del valore selezionato della pagina Posts .
Quindi sì, per questo scopo, non esiste una funzione di controllo ufficiale simile a quella is_front_page()
.
Finché conosci l'ID della pagina che hai selezionato, puoi usarlo per il processo di verifica.
Codice WordPress, Sviluppo temi, codex.wordpress.org/Theme_Development
Codice sorgente delle impostazioni › Impostazioni di lettura , github.com/WordPress/.../wp-admin/options-reading.php