if (is_home () &&! is_front_page ())

11

Veo mucho el siguiente código en los archivos index.php. Entiendo que is_front_page() devuelve verdadero al ver la Página principal del sitio (ya sea que muestre el índice de publicaciones del blog o una página estática), mientras que is_home() devuelve verdadero cuando se ve el Índice de publicaciones del blog (ya sea que se muestre en la página principal o en una página estática página). Todavía estoy un poco confundido con el uso del siguiente código -

        <?php if ( is_home() && ! is_front_page() ) : ?>
            <header>
                <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
            </header>
        <?php endif; ?>

Cualquier explicación de por qué esta pieza de código es tan popular es muy apreciada.

    
pregunta olliew 23.04.2016 - 14:12

3 respuestas

9

Esto mostrará el título de la página cuando una página estática esté configurada para mostrar publicaciones.

e.g.

Muestro publicaciones en mi página de inicio ... No hará nada.

Si, por ejemplo, muestro publicaciones en la página titulada Noticias ... Mostrará Noticias en H1

Esto se usa para que se muestre el título de la página, siempre que las publicaciones se muestren en una página, pero nada cuando las publicaciones de blog se muestran en la página principal (página de inicio).

Lo hacemos porque está en la página de inicio ... mostrará el título de la primera publicación, haciéndolo aparecer dos veces (una vez en la parte superior en H1 y otra vez cuando las publicaciones se repiten).

    
respondido por el shramee 23.04.2016 - 15:03
15

Aquí está cómo hacerlo bien:

if ( is_front_page() && is_home() ) {
// Default homepage

} elseif ( is_front_page()){
//Static homepage

} elseif ( is_home()){

//Blog page

} else {

//everything else

}

Esta es la única forma (derecha) de mostrar o modificar el contenido con su página de inicio y la página de su blog.

    
respondido por el Md. Abunaser Khan 19.09.2016 - 21:19
4

No estoy seguro de que sea "popular", no me lo parece (pero entonces no veo tantos temas).

Parece que entiendes bien lo que hace cada condicional, así que esto no debería ser confuso para ti. Esto combina condiciones para comprobar que el índice del blog se muestra y no es en la página principal.

Ah, el motivo de single_post_title() supongo que muestra el título para $wp_query->queried object (configurado por la consulta principal como contexto actual), en lugar de $post global (configurado por bucle de iteración).

En algunas circunstancias, serán iguales, pero no en el caso de que se verifique la condición. El bucle contendrá publicaciones , pero el objeto consultado será página (a menos que esté mezclando las cosas :).

    
respondido por el Rarst 23.04.2016 - 14:32

Lea otras preguntas en las etiquetas