Determinar si la página es la Página de Entradas

14 abr 2011, 20:24:00
Vistas: 85.1K
Votos: 30

En la página de Ajustes de Lectura puedes establecer una "Página de inicio" y una "Página de entradas". Puedes verificar si la página actual es la página de inicio usando is_front_page();

¿Existe una función similar para la "Página de entradas"? He notado que is_page(); no funciona para esta página especial.

Gracias

0
Todas las respuestas a la pregunta 6
3
49

is_home() verifica la "Página de entradas", a pesar del nombre de la función que puede resultar algo confuso.

14 abr 2011 20:29:13
Comentarios

gracias, pensé que los había revisado todos, pero parece que no...

mike mike
14 abr 2011 21:02:22

¿Qué tal $wp_query->is_posts_page?

Weston Ruter Weston Ruter
15 may 2013 11:03:36

@WestonRuter tiene la respuesta correcta a la pregunta.

The J The J
19 ene 2017 15:49:38
0
11

WordPress viene con 7 tipos principales de plantillas de página, que se pueden determinar de la siguiente manera:

if ( is_main_query() ) {
    // Error
    if ( is_404() ) {
        ;
    }
    // Página frontal
    if ( is_front_page() ) {
        ;
    }
    // Archivo
    if ( is_archive() ) {
        ;
    }
    // Ventana emergente de comentarios
    if ( is_comments_popup() ) {
        ;
    }
    // Búsqueda
    if ( is_search() ) {
        ;
    }
    // Singular
    if ( is_singular() ) {
        ;
    }
    // Inicio - la página del blog
    if ( is_home() ) {
        ;
    }
}

is_home() te indica que estás en la página del blog.

13 sept 2015 13:34:34
0

"Página de publicaciones" generalmente es un archivo de:

  • publicaciones de una categoría
  • publicaciones de una etiqueta
  • publicaciones por fecha (año, mes...)
  • publicaciones del archivo principal

Cada uno de estos puede verificarse con una de las muchas etiquetas condicionales como: is_category() is_tag() is_date() is_archive() Y muchas más. Para entenderlo mejor, visita el codex http://codex.wordpress.org/Conditional_Tags

14 abr 2011 21:16:20
1

Primero verifica los elementos relacionados con blogs como autor, etiqueta, tipo de publicación

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 ;
  }

Ahora verifica y retorna algo que quieras tener

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'Soy una entrada';
      } else
       {
          $postType = 'Soy una página';
       };
    return $postType;
  }

Úsalo como un Jefe <?php echo check_post_type();?>

Gracias a Wes Bos

10 ene 2018 19:14:57
Comentarios

este me ayudó cuando estaba personalizando el post.php para editar solo páginas.

Jonatas CD Jonatas CD
4 may 2021 16:31:19
0

Resumen

Caso A. No es necesario determinarlo dentro del archivo de plantilla principal (index.php) porque es la plantilla predeterminada para ello[1].

Caso B. Para determinarlo dentro de una plantilla de página (ej: page.php), simplemente compruébalo así:

get_option( 'page_for_posts' ) == get_the_ID()

Detalles

Literalmente me puse a investigar el código fuente[2] solo para poder saber cómo WordPress realiza la verificación del valor. Resulta que usa la declaración get_option( 'page_for_posts' ) para conocer el ID de la publicación del valor seleccionado en la Página de entradas.

Así que sí, para este propósito, no existe una función verificadora oficial similar a is_front_page().

Mientras conozcas el ID de la página que has seleccionado, podrás usarlo para el proceso de verificación.

Referencias

  1. WordPress Codex, Desarrollo de temas, codex.wordpress.org/Theme_Development

  2. Código fuente de AjustesAjustes de lectura, github.com/WordPress/.../wp-admin/options-reading.php

10 mar 2019 02:00:26
0

https://codex.wordpress.org/Conditional_Tags en el Codex de WordPress indica que puedes hacer referencia a páginas de la siguiente manera:

if ( is_front_page() && is_home() ) {
  // Página de inicio por defecto
} elseif ( is_front_page() ) {
  // Página de inicio estática
} elseif ( is_home() ) {
  // Página del blog
} else {
  // Todo lo demás
}
30 ene 2021 01:56:37