Function and usage of is_post_type_viewable() in wordpress


Answers ( 1 )


    The is_post_type_viewable() function in WordPress is used to determine if a given post type is considered "viewable" on the front end of the website. This function is crucial for theme and plugin developers to understand how different post types behave in terms of visibility and access by users and search engines.

    Function Signature:

    is_post_type_viewable( string|WP_Post_Type $post_type ): bool

    Function Details:

    1. Purpose:

      • The function checks if a specific post type is accessible or visible on the front end of the site.
    2. Description:

      • For built-in post types like posts (post) and pages (page), the function checks the public property of the post type object.
      • For custom post types, it evaluates the publicly_queryable property.
      • This distinction is important because built-in post types are generally intended to be public, but custom post types can have a variety of use cases, some of which may not require front-end visibility.
    3. Parameters:

      • $post_type (string|WP_Post_Type): This is a required parameter. It can either be a string representing the name of the post type or a WP_Post_Type object.
    4. Return Value:

      • Returns bool (Boolean):
        • true if the post type is viewable.
        • false if it is not viewable.

    Sample Usage:

    if ( is_post_type_viewable( 'custom_post_type' ) ) {
        echo 'This custom post type is viewable.';
    } else {
        echo 'This custom post type is not viewable.';

    In this example, is_post_type_viewable() is used to check if a custom post type named 'custom_post_type' is viewable. Depending on the result, it echoes a message indicating whether the post type is viewable or not.

    Practical Application:

    • Theme and plugin developers use this function to conditionally display content or perform certain actions based on the visibility of a post type.
    • It's also useful for SEO purposes, as developers can ensure that only the desired post types are available for indexing by search engines.

    Understanding this function is part of understanding WordPress's content visibility and access control, which is a key aspect of developing user-friendly and SEO-friendly websites.

Leave an answer