Make WordPress Core

Ticket #49628: 49628.3.diff

File 49628.3.diff, 1.2 KB (added by audrasjb, 3 years ago)

Posts, Post Types: Introduce post_type_viewable hook to filter the result of is_post_type_viewable() function.

  • src/wp-includes/post.php

    diff --git a/src/wp-includes/post.php b/src/wp-includes/post.php
    index 2487e5b4c2..1790580c18 100644
    a b function set_post_type( $post_id = 0, $post_type = 'post' ) { 
    20842084 * @since 4.4.0
    20852085 * @since 4.5.0 Added the ability to pass a post type name in addition to object.
    20862086 * @since 4.6.0 Converted the `$post_type` parameter to accept a `WP_Post_Type` object.
     2087 * @since 5.9.0 Added `post_type_viewable` hook to filter the result.
    20872088 *
    20882089 * @param string|WP_Post_Type $post_type Post type name or object.
    20892090 * @return bool Whether the post type should be considered viewable.
    function is_post_type_viewable( $post_type ) { 
    21002101                return false;
    21012102        }
    21022103
    2103         return $post_type->publicly_queryable || ( $post_type->_builtin && $post_type->public );
     2104        $is_viewable = $post_type->publicly_queryable || ( $post_type->_builtin && $post_type->public );
     2105
     2106        /**
     2107         * Filters whether a post type is considered "viewable".
     2108         *
     2109         * @since 5.9.0
     2110         *
     2111         * @param bool         $is_viewable Whether the post type is "viewable".
     2112         * @param WP_Post_Type $post_type   Post type object.
     2113         */
     2114        return apply_filters( 'post_type_viewable', $is_viewable, $post_type );
    21042115}
    21052116
    21062117/**