WordPress: Change Insert Link (list) to use short permalinks with post ID

in wp-includes/class-wp-editor.php, change the line that has the permalink from

                'permalink' => get_permalink( $post->ID ),

to

    'permalink' => '/?p='.$post->ID,

That was line 749 in version 3.3 beta 1

    function wp_link_query( $args = array() ) {
        $pts = get_post_types( array( 'public' => true ), 'objects' );
        $pt_names = array_keys( $pts );

        $query = array(
            'post_type' => $pt_names,
            'suppress_filters' => true,
            'update_post_term_cache' => false,
            'update_post_meta_cache' => false,
            'post_status' => 'publish',
            'order' => 'DESC',
            'orderby' => 'post_date',
            'posts_per_page' => 20,
        );

        $args['pagenum'] = isset( $args['pagenum'] ) ? absint( $args['pagenum'] ) : 1;

        if ( isset( $args['s'] ) )
            $query['s'] = $args['s'];

        $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;

        // Do main query.
        $get_posts = new WP_Query;
        $posts = $get_posts->query( $query );
        // Check if any posts were found.
        if ( ! $get_posts->post_count )
            return false;

        // Build results.
        $results = array();
        foreach ( $posts as $post ) {
            if ( 'post' == $post->post_type )
                $info = mysql2date( __( 'Y/m/d' ), $post->post_date );
            else
                $info = $pts[ $post->post_type ]->labels->singular_name;

            $results[] = array(
                'ID' => $post->ID,
                'title' => trim( esc_html( strip_tags( get_the_title( $post ) ) ) ),
                'permalink' => '/?p='.$post->ID,
                'info' => $info,
            );
        }

        return $results;
    }

Related Posts:

  • No Related Posts
This entry was posted in Web Development and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *