WordPress es un excelente CMS. Puedes hacer lo que quieras con eso. Pero a veces, puede encontrar un problema con algunas funciones básicas. Por ejemplo, probablemente esté utilizando el is_front_page y es casa Página de inicio de WordPress condicional en sus temas y complementos (puede obtener más información sobre las funciones condicionales en nuestra publicación de Etiquetas condicionales). ¡Pero lo estás haciendo mal!
Configuración de la página de inicio
Con esas funciones condicionales, puede comprobar si se muestra la página de inicio (es casa), o si la página de inicio usa una página estática (is_front_page). Puede definir tal comportamiento en Ajustes=> Leer.
En su complemento o tema, puede utilizar estas funciones para mostrar o cambiar el contenido según la configuración del usuario. Pero estás cometiendo un gran error: no estás teniendo en cuenta la página de blog estática. Cuando define una página estática para su página de inicio, también puede definir una página de blog: reemplazará la página de inicio predeterminada de WordPress para enumerar todas las publicaciones.
Larga historia resumida: is_front_page siempre debe probarse con y antes es casa. Y he aquí por qué.
Cómo funciona
1. Configuración normal:
La página de inicio predeterminada de WordPress enumera sus últimas publicaciones.
- Aquí está la URL: sitio web.com
- is_home devuelve TRUE
- is_front_page devuelve TRUE
Aquí no hay ningún problema.
2. Página de inicio estática:
La página de inicio está usando una de sus páginas estáticas.
- La URL sigue siendo sitio web.com.
- is_home devuelve FALSE
- is_front_page devuelve TRUE
No hay ningún problema con su página de inicio estática: is_front_page devuelve verdadero.
3. Página de blog estática
Una de sus páginas enumera todas sus publicaciones.
- La URL es sitio web.com/nombre de página
- is_home: TRUE
- is_front_page: FALSE
Aquí, puede tener algunos problemas: es casa devuelve TRUE, pero esta no es su página de inicio: es una página de WordPress que enumera todas las publicaciones, como lo haría un archivo de categoría principal.
Usar etiquetas condicionales
Cuando crea un complemento o un tema, debe tener en cuenta que los usuarios pueden usar esa configuración de página. Entonces, cada vez que usas es casa, siempre debes probar is_front_page antes, y siempre debe usar parámetros condicionales para hacerlo.
Si no lo hace, es posible que tenga problemas con algunos usuarios. Por ejemplo, si solo prueba es casa para mostrar el contenido de su página de inicio, habrá problemas con la página de inicio estática que no mostrará el contenido correcto.
He aquí cómo hacerlo bien:
if ( is_front_page() && is_home() ) {
// Default homepage ( both the front page and the recent posts page)
} elseif ( is_front_page() ) {
// Static homepage
} elseif ( is_home() ) {
// Blog page
} else {
// Everything else
}
Esta es la única forma (correcta) de mostrar o modificar el contenido de su página de inicio y su página de blog.
Importante: Tenga en cuenta que estas funciones solo funcionan una vez que se carga WordPress, como en archivos de plantilla o ganchos de acción específicos. No puede simplemente volcar estos condicionales en functions.php y esperar que funcionen.
¿Y usted?
¿Ya se encontró con este problema? Cual fue tu solucion? ¡Quiero escuchar al respecto!