Common WordPress Conditional Functions

Posted in Articles

Tweet This Share on Facebook Bookmark on Delicious Digg this Submit to Reddit

Here are some common WordPress conditional functions. Note that this is not an inclusive list.

Conditional Tag:

  • is_home() – blog home
  • is_front_page() – site front page
  • is_single() – single post
  • is_page()
  • is_attachment() – if on an attachment page (such as an image)
  • is_singular() – returns true for any is_single, is_page, or is_attachment
  • is_category() – when a category page is being displayed
  • is_tag() – when a tag page is being displayed
  • is_archive() – returns true if on archive page
  • is_search() – returns true if on search page
  • is_author() – when author page is being displayed


  • is_404() – when page not found is being displayed
  • is_paged() – if archive or main page is split into several page, this returns true on second and subsequent pages.
  • is_preview() – if displayed in preview mode.
  • is_sticky() – if the post is sticky
  • has_tag() – pass in tag or array of tags, returns true if post has this tag
  • has_excerpt() – if the post has an excerpt
  • has_post_thumbnail() – returns true if post has Featured image
  • is_page_template() – pass in a template file with extension, returns true if this template is being used


  • is_date() – when a date-based archive page is being displayed
  • is_year()
  • is_month()
  • is_day()
  • is_time()
  • is_new_day()


  • is_tax() – when any taxonomy archive page is being displayed
  • has_term() – check if post has certain terms for taxonomy
  • taxonomy_exists()
  • is_taxonomy_hierarchical()


  • is_admin()
  • is_user_logged_in()
  • is_super_admin() – returns true if user is super admin in a Multi-site.  If not in Multi-site, returns true if user is an admin
  • is_admin_bar_showing()


Post type:

  • is_post_type_archive() – pass in a post_type, returns true if archive of that post type
  • is_post_type_hierarchical() – pass in a post_type, returns true if this post_type was registered as having support for hierarchical

Comments and Pings

  • is_comments_popup() – true when in comments popup window
  • comments_open()
  • pings_open()
  • is_trackback()
  • is_feed()


  • has_nav_menu() – pass in menu location slug, returns true if this location has menu
  • in_the_loop() – when inside the loop
  • is_main_query()
  • is_active_sidebar() – pass in the sidebar name, id, or number, returns true if this sidebar is being used.
  • is_dynamic_sidebar() – True if the current sidebar has active widgets
  • is_active_widget()
  • is_blog_installed()
  • is_rtl()
  • is_multisite() – if current site is in a Multi-site install
  • is_main_site() – if current site is the main site in a multi-site install
  • is_child_theme()
  • current_theme_supports()
  • is_multi_author() – returns true if more than one author on this site. Returns false if one or no authors.
  • wp_attachment_is_image() – returns true if the attachment extension is .jpg, .jpeg, .gif, or .png.
  • wp_script_is() – Determine if a script has been registered, enqueued, printed, or is waiting to be printed.

If exists:

  • email_exists() –  check whether or not a given email address ($email) has already been registered to a username, and returns that users ID
  • username_exists() – Returns the user ID if the user exists or null if the user doesn’t exist.
  • post_type_exists()
  • taxonomy_exists()
  • term_exists()


  • is_plugin_active()
  • is_plugin_active_for_network()
  • is_plugin_inactive()
  • is_plugin_page()