Changeset 31302 for trunk/src/wp-includes/link-template.php
- Timestamp:
- 01/30/2015 02:19:46 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/link-template.php
r31219 r31302 1522 1522 } 1523 1523 1524 // 'post_status' clause depends on the current user. 1525 if ( is_user_logged_in() ) { 1526 $user_id = get_current_user_id(); 1527 1528 $post_type_object = get_post_type_object( $post->post_type ); 1529 if ( empty( $post_type_object ) ) { 1530 $post_type_cap = $post->post_type; 1531 $read_private_cap = 'read_private_' . $post_type_cap . 's'; 1532 } else { 1533 $read_private_cap = $post_type_object->cap->read_private_posts; 1534 } 1535 1536 /* 1537 * Results should include private posts belonging to the current user, or private posts where the 1538 * current user has the 'read_private_posts' cap. 1539 */ 1540 $private_states = get_post_stati( array( 'private' => true ) ); 1541 $where .= " AND ( p.post_status = 'publish'"; 1542 foreach ( (array) $private_states as $state ) { 1543 if ( current_user_can( $read_private_cap ) ) { 1544 $where .= $wpdb->prepare( " OR p.post_status = %s", $state ); 1545 } else { 1546 $where .= $wpdb->prepare( " OR (p.post_author = %d AND p.post_status = %s)", $user_id, $state ); 1547 } 1548 } 1549 $where .= " )"; 1550 } else { 1551 $where .= " AND p.post_status = 'publish'"; 1552 } 1553 1524 1554 $adjacent = $previous ? 'previous' : 'next'; 1525 1555 $op = $previous ? '<' : '>'; … … 1552 1582 * @param array $excluded_terms Array of excluded term IDs. 1553 1583 */ 1554 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish'$where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms );1584 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms ); 1555 1585 1556 1586 /**
Note: See TracChangeset
for help on using the changeset viewer.