WordPress.org

Make WordPress Core

Ticket #5749: title_edit_slug_for_new_posts.diff

File title_edit_slug_for_new_posts.diff, 4.2 KB (added by filosofo, 7 years ago)

edit slug for new post page, on autosave

  • wp-includes/js/autosave.js

     
    4747        } 
    4848        jQuery('#autosave').html(message); 
    4949        autosave_update_preview_link(res); 
     50        autosave_update_slug(res); 
    5051        autosave_enable_buttons(); 
    5152} 
    5253 
     
    6263                }, function(permalink) { 
    6364                        jQuery('#previewview').html('<a target="_blank" href="'+permalink+'">'+previewText+'</a>'); 
    6465                }); 
    65                  
    6666        } 
    6767} 
    6868 
     69function autosave_update_slug(post_id) { 
     70        // create slug area only if not already there 
     71        if ( 'undefined' != typeof make_slugedit_clickable && ! jQuery('#edit-slug-box > *').get()[0] ) { 
     72                jQuery.post(slugL10n.requestFile, { 
     73                        action: 'sample-permalink', 
     74                        post_id: post_id, 
     75                        samplepermalinknonce: jQuery('#samplepermalinknonce').val()}, function(data) { 
     76                                jQuery('#edit-slug-box').html(data); 
     77                                make_slugedit_clickable(); 
     78                        }); 
     79        } 
     80} 
     81 
    6982function autosave_loading() { 
    7083        jQuery('#autosave').html(autosaveL10n.savingText); 
    7184} 
     
    8194        } 
    8295        jQuery('#autosave').html(message); 
    8396        autosave_update_preview_link(res); 
     97        autosave_update_slug(res); 
    8498        autosave_enable_buttons(); 
    8599} 
    86100 
  • wp-admin/admin-ajax.php

     
    527527case 'get-permalink': 
    528528        check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); 
    529529        $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; 
    530         die(get_permalink($post_id)); 
     530        die(add_query_arg(array('preview' => 'true'), get_permalink($post_id))); 
    531531break; 
    532532case 'sample-permalink': 
    533533        check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); 
  • wp-admin/includes/post.php

     
    604604        } 
    605605        $post_name_html = '<span id="editable-post-name" title="'.$title.'">'.$post_name_abridged.'</span><span id="editable-post-name-full">'.$post_name.'</span>'; 
    606606        $display_link = str_replace('%postname%', $post_name_html, $permalink); 
    607         return $display_link; 
     607        $return = '<strong>' . __('Permalink:') . "</strong>\n" . '<span id="sample-permalink">' . $display_link . "</span>\n"; 
     608        $return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug" onclick="edit_permalink(' . $id . '); return false;">' . __('Edit') . "</a></span>\n"; 
     609        return $return; 
    608610} 
    609611 
    610612?> 
  • wp-admin/js/slug.js

     
    1616                        post_id: post_id, 
    1717                        new_slug: new_slug, 
    1818                        samplepermalinknonce: jQuery('#samplepermalinknonce').val()}, function(data) { 
    19                                 jQuery('#sample-permalink').html(data); 
     19                                jQuery('#edit-slug-box').html(data); 
    2020                                b.html(revert_b); 
    2121                                real_slug.attr('value', new_slug);       
    2222                                make_slugedit_clickable(); 
  • wp-admin/edit-form-advanced.php

     
    7171<h3><?php _e('Title') ?></h3> 
    7272<div class="inside"> 
    7373        <input type="text" name="post_title" size="30" tabindex="1" value="<?php echo attribute_escape($post->post_title); ?>" id="title" /> 
    74 <?php 
    75         $sample_permalink_html = get_sample_permalink_html($post->ID); 
    76         if ($post->ID && $sample_permalink_html): 
    77 ?> 
    78         <div id="edit-slug-box" style="display: <?php echo $post->ID? 'block' : 'none';?>"> 
    79                 <strong><?php _e('Permalink:'); ?></strong> 
    80                 <span id="sample-permalink"><?php echo $sample_permalink_html; ?></span> 
    81                 <span id="edit-slug-buttons"><a href="#post_name" class="edit-slug" onclick="edit_permalink(<?php echo $post->ID; ?>);return false;"><?php _e('Edit');?></a></span> 
     74<?php $sample_permalink_html = get_sample_permalink_html($post->ID); ?> 
     75        <div id="edit-slug-box"> 
     76<?php if ( ! empty($post->ID) && ! empty($sample_permalink_html) ) :  
     77        echo $sample_permalink_html; 
     78endif; ?> 
    8279        </div> 
    83 <?php 
    84         endif; 
    85         ?> 
    8680</div> 
    8781</div> 
    8882