diff --git src/wp-includes/post.php src/wp-includes/post.php
index ae688a3470..ecd96f3e16 100644
|
|
|
function get_available_post_mime_types( $type = 'attachment' ) { |
| 7025 | 7025 | $types = $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT post_mime_type FROM $wpdb->posts WHERE post_type = %s", $type ) ); |
| 7026 | 7026 | return $types; |
| 7027 | 7027 | } |
| | 7028 | |
| | 7029 | /** |
| | 7030 | * Determine if a post is private or not. |
| | 7031 | * |
| | 7032 | * If the post is not found, it will return false. If the post is an attachment, |
| | 7033 | * the parent post status will be checked. |
| | 7034 | * |
| | 7035 | * @since 5.3.0 |
| | 7036 | * |
| | 7037 | * @see get_post_status() |
| | 7038 | * @link https://core.trac.wordpress.org/ticket/37462 |
| | 7039 | * |
| | 7040 | * @param int|WP_Post $post Optional. Post ID or post object. Defaults to global $post. |
| | 7041 | * @return bool True if the post is private, false if not or if the post is not found. |
| | 7042 | */ |
| | 7043 | function is_private_post( $post = null ) { |
| | 7044 | if ( 'private' === get_post_status( $post ) ) { |
| | 7045 | return true; |
| | 7046 | } |
| | 7047 | |
| | 7048 | return false; |
| | 7049 | } |
| | 7050 | No newline at end of file |
diff --git tests/phpunit/tests/post.php tests/phpunit/tests/post.php
index 6ef0c8449f..4c1b7a971f 100644
|
|
|
class Tests_Post extends WP_UnitTestCase { |
| 1394 | 1394 | function filter_pre_wp_unique_post_slug( $default, $slug, $post_ID, $post_status, $post_type, $post_parent ) { |
| 1395 | 1395 | return 'override-slug-' . $post_type; |
| 1396 | 1396 | } |
| | 1397 | |
| | 1398 | /** |
| | 1399 | * @ticket 37462 |
| | 1400 | */ |
| | 1401 | function test_is_private_post() { |
| | 1402 | $post_id_private = $this->factory->post->create( |
| | 1403 | array( |
| | 1404 | 'title' => 'An example', |
| | 1405 | 'post_status' => 'private', |
| | 1406 | 'post_type' => 'post', |
| | 1407 | ) |
| | 1408 | ); |
| | 1409 | |
| | 1410 | $post_id_published = $this->factory->post->create( |
| | 1411 | array( |
| | 1412 | 'title' => 'An example', |
| | 1413 | 'post_status' => 'publish', |
| | 1414 | 'post_type' => 'page', |
| | 1415 | ) |
| | 1416 | ); |
| | 1417 | |
| | 1418 | $this->assertTrue( is_private_post( $post_id_private ) ); |
| | 1419 | $this->assertFalse( is_private_post( $post_id_published ) ); |
| | 1420 | } |
| | 1421 | |
| 1397 | 1422 | } |