Compruebe si la página actual es la página del blog

25

Soy nuevo en Wordpress . Necesito revisar el archivo del encabezado si la página actual es la Página del blog ?

Lo comprobé pero no puedo encontrar el camino. Ayúdame, Pls.

    
pregunta KarSho 19.07.2013 - 13:20

9 respuestas

33

Si por ' página de blog ' querías decir página estática configurada como página de publicaciones en Configuración de lectura , entonces puedes comprobarlo haciendo esto:

if ( is_front_page() && is_home() ) {
  // Default homepage
} elseif ( is_front_page() ) {
  // static homepage
} elseif ( is_home() ) {
  // blog page
} else {
  //everyting else
}
  

Cuando usas is_home() y is_front_page() , tienes que usarlos en    el orden correcto para evitar errores y probar cada configuración de usuario.

(Fuente: Etiquetas condicionales - La página del blog )

O simplemente:

if ( !is_front_page() && is_home() ) {
  // blog page
}

O más simplemente (supongo):

if ( is_home() ) {
  // blog page
}
    
respondido por el Giraldi 03.08.2014 - 05:50
13

Puedes usar lo siguiente en tu archivo de funciones de temas.php:

function is_blog () {
    return ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag()) && 'post' == get_post_type();
}

Y luego ponga esto en el archivo que está verificando:

<?php if (is_blog()) { echo 'You are on a blog page'; } ?>

Puedes usar Hooks en tu archivo functions.php para enganchar lo anterior, para que aparezca en cada página.

    
respondido por el Vagish 18.04.2014 - 10:26
8

Si por 'página de blog' querías decir una página estática establecida como página de publicaciones en la Lectura:

global $wp_query;

if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) {
    //static blog page
}

PS. Esta solución también funciona en template_redirect action

    
respondido por el Sergey Repin 17.04.2016 - 12:33
1

Puedes usar

<?php if ( is_single() ) { ?>

Do stuff here

<?php } ?>
    
respondido por el Xav 19.07.2013 - 13:23
1

Para obtener la página de índice de blogs , encontré que

if ( !is_front_page() && is_home() ) {
  // blog page
}

no me funciona, tuve que usar la función get_option ('page_for_posts') para identificar la página de blog post_id, mi respuesta es

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

    if ( empty ( $post_id) ) {
        global $post;
        $post_id =  get_option( 'page_for_posts' );
    }

    //blog page
}
    
respondido por el J.Wang 16.05.2018 - 20:58
0

Hay un método complicado.

enlace

Supongamos que si la barra de la página de tu blog es blog , puedes usar este código.

global $wp_query;
if($wp_query->query['pagename']=='blog'){
// this is blog page
}
    
respondido por el Rajilesh Panoli 04.10.2016 - 15:04
0

Página de inicio

if(is_home() && is_front_page() || is_front_page()): // static or default hompage
 ...
endif;

BLOG

if(is_home() && !is_front_page()): // blog
 ...
endif;
    
respondido por el DevWL 17.12.2016 - 05:51
0

Supongo que es muy simple, estaba en una misma situación y utilicé la siguiente técnica, que es usar la barra de página.

if( is_page('blog') ) {
echo "This is your blog page"; 
}

Pero asegúrate de que no hayas seleccionado la página de inicio para mostrar las publicaciones de blog recientes y que hayas configurado una página específica para blogs como blog o noticias, etc., solo usa esa barra de página y estarás bien.

    
respondido por el Rahman Zeb 16.09.2017 - 10:01
-2

Yo uso de esta manera

// Get body classes as array
$body_classes = get_body_class();
// Check if "blog" class exists in the array
if(in_array("blog", $body_classes)) {
   // Do stuff
}
    
respondido por el John Smith 27.09.2015 - 13:07

Lea otras preguntas en las etiquetas