WordPress.org

Make WordPress Core

Ticket #14760: wp_get_shortlink-3.diff

File wp_get_shortlink-3.diff, 1.1 KB (added by layotte, 3 years ago)
  • link-template.php

     
    23852385 
    23862386        global $wp_query; 
    23872387        $post_id = 0; 
    2388         if ( 'query' == $context && is_single() ) { 
     2388        if ( 'query' == $context && is_singular() ) {  
    23892389                $post_id = $wp_query->get_queried_object_id(); 
    23902390        } elseif ( 'post' == $context ) { 
    23912391                $post = get_post($id); 
     
    23942394 
    23952395        $shortlink = ''; 
    23962396 
    2397         // Return p= link for posts. 
    2398         if ( !empty($post_id) && '' != get_option('permalink_structure') ) { 
    2399                 $post = get_post($post_id); 
    2400                 if ( isset($post->post_type) && 'post' == $post->post_type ) 
    2401                         $shortlink = home_url('?p=' . $post->ID); 
     2397        // Return p= link for all public post types. 
     2398        if ( !empty($post_id) ) { 
     2399                if (!isset($post)) { 
     2400                        $post = get_post($post_id); 
     2401                } 
     2402                $post_type = get_post_type_object( $post->post_type ); 
     2403                if ( $post_type->public ) { 
     2404                        $shortlink = home_url('?p=' . $post_id); 
     2405                } 
    24022406        } 
    24032407 
    24042408        return apply_filters('get_shortlink', $shortlink, $id, $context, $allow_slugs);