¿Cuándo usar is_home () vs is_front_page ()?


66

Descubrí que is_front_pageparece ser cierto cuando estoy viendo la página de inicio y tengo una sola publicación fija asignada allí.

También devuelve verdadero cuando he asignado una página como portada estática a través de Configuración> Lectura .

¿Por qué querría usar alguna vez is_home()?

Respuestas:


65

is_front_page()devuelve verdadero si el usuario está en la página o página de publicaciones que está configurada en la página principal en Configuración-> Lectura-> Se muestra su página de inicio

Por lo tanto, si establece about uscomo la página principal, este condicional solo será verdadero si muestra la página acerca de nosotros .

is_home() devuelve verdadero cuando está en la página de la lista de publicaciones. Esta suele ser la página que muestra las últimas 10 publicaciones.

Si la configuración en la pantalla de su página de inicio se deja por defecto, entonces la página de inicio volverá verdadera para ambos is_front_page()yis_home()

Un ejemplo de uso is_home():

  • Has configurado tu página de publicaciones en una página llamada Noticias .
  • Un usuario navega allí y en el encabezado desea mostrar navegación adicional
  • Podrías is_home()hacer esto.

18
Exactamente. Diferencio de la siguiente manera: is_front_page()devuelve verdadero cuando se ve el sitio Primera plana (si se presentan el índice de entradas de blog o una página estática), mientras que is_home()los rendimientos reales cuando se ve el Índice de Entradas de blog (si aparece en la primera página o en una página estática).
Chip Bennett

3

He descubierto eso is_home()y is_front_page()no entrego lo que se espera para los sitios múltiples. Mi solución usando los productos PHP integrados:

if($_SERVER['REQUEST_URI'] == '/') {
    // you must be on the home page
}

Como se menciona en los comentarios, este enfoque no funcionará para instancias de WP instaladas en subdirectorios de la raíz web. Úselo a su discreción.


Explique cómo no ofrece lo que se espera.
Christine Cooper

En un sitio principal multisitio, si utiliza cualquier forma de is_home()o is_front_page()en una página principal estática o de blog, ambas funciones devolverán false.
Dylan Pierce

1
Acabo de probar ambas condiciones en un entorno multisitio y ambas volvieron verdaderas cuando visité las /páginas respectivas .
Christine Cooper

Estoy usando el cuadro VVV de wordpress con el complemento multisitio : github.com/Varying-Vagrant-Vagrants/vvv-multisite ¿ tal vez hay algo mal configurado en él? Independientemente de solo dejar una respuesta para una solución alternativa si alguien viene junto con una situación similar.
Dylan Pierce

Su código es casi perfecto, lo único es: ¿Qué pasa si WP está instalado en un subdirectorio, por ejemplo / blog o / wordpress? Que esto será inútil.
Remzi Cavdar

1

Debería usarlo is_home()cuando desee verificar si el usuario está viendo su lista de publicaciones de blog (generalmente configurado para mostrar 10 publicaciones por página). Si tiene un home.phparchivo en su tema, se mostrará cuando la is_home()condición sea verdadera.

Lo siguiente también puede eliminar cierta confusión: cuando is_front_page()y las is_home()condiciones, ambas son verdaderas, la plantilla front-page.phpse usará en lugar de home.php.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.