Verifique se a página atual é a página do blog

25

Sou novo no Wordpress . Preciso verificar no arquivo de cabeçalho se a página atual é a Página do Blog ?

Eu verifiquei, mas não consigo encontrar o caminho. Me ajude, Pls.

    
por KarSho 19.07.2013 / 13:20
fonte

9 respostas

33

Se por " página do blog " você quis dizer uma página estática como página de postagens nas Configurações de leitura , então você poderia verificar isso fazendo isso:

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

Quando você usa is_home() e is_front_page() , é necessário usá-los    a ordem certa para evitar erros e para testar cada configuração de usuário.

(Fonte: Tags condicionais - a página do Blog )

Ou simplesmente:

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

Ou mais simplesmente (suponho):

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

Você pode usar o seguinte em seu arquivo functions.php de temas:

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

E, em seguida, coloque isso no arquivo que você está verificando:

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

Você pode usar os Ganchos no seu arquivo functions.php para ligar os itens acima, para que eles apareçam em todas as páginas.

    
por Vagish 18.04.2014 / 10:26
fonte
8

Se por 'página do blog' você quis dizer uma página estática definida como página de postagens na Leitura:

global $wp_query;

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

PS. Esta solução também funciona na ação template_redirect

    
por Sergey Repin 17.04.2016 / 12:33
fonte
1

Você pode usar

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

Do stuff here

<?php } ?>
    
por Xav 19.07.2013 / 13:23
fonte
1

Para obter a página de índice do blog , descobri que

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

não está funcionando para mim, eu tive que usar a função get_option ('page_for_posts') para identificar a página do blog post_id, minha resposta é

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

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

    //blog page
}
    
por J.Wang 16.05.2018 / 20:58
fonte
0

Existe um método complicado.

enlace

Suponha que, se o slug de sua página do blog for blog , você poderá usar esse código.

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

PÁGINA INICIAL

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

BLOG

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

Eu acho que é muito simples eu estava em uma mesma situação e usei a seguinte técnica que é usar o slug da página.

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

Mas verifique se você não selecionou a página inicial para exibir as postagens recentes do blog e definiu uma página específica para blogs como blogs ou notícias, etc.     

por Rahman Zeb 16.09.2017 / 10:01
fonte
-2

Eu uso dessa maneira

// 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
}
    
por John Smith 27.09.2015 / 13:07
fonte