En más de una ocasión y dependiendo del proyecto hemos tenido la necesidad de saber si la página en que nos encontrábamos pertenecía al blog (un listado de post, un post).

WordPress trae de serie un montón de funciones para saber donde nos encontramos, como is_home(), is_category(), is_single() o is_404() entre otros, pero no un is_blog(), aunque eso tiene fácil solución. Pon esta función en tu functions.php y ya lo tienes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function is_blog()
{
  global $post;
  $posttype = get_post_type($post);

  if( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') )
  {
    return true;
  }
  else
  {
    return false;
  }
}

Realmente lo que hacemos no es más que comprobar el tipo de página a la que pertenece y que además sea del tipo «post«. Yo ya le he dado uso, se lo vas a dar tú ?