Ticket #6072: really-act-right-on-empty-slug.diff
File really-act-right-on-empty-slug.diff, 2.5 KB (added by , 17 years ago) |
---|
-
wp-includes/js/autosave.js
92 92 { 93 93 action: 'sample-permalink', 94 94 post_id: post_id, 95 new_title: jQuery('#title').val(), 95 96 samplepermalinknonce: jQuery('#samplepermalinknonce').val() 96 97 }, 97 98 function(data) { -
wp-admin/admin-ajax.php
571 571 case 'sample-permalink': 572 572 check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); 573 573 $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; 574 die(get_sample_permalink_html($post_id, $_POST['new_title'], $_POST['new_slug'])); 574 $title = isset($_POST['new_title'])? $_POST['new_title'] : ''; 575 $slug = isset($_POST['new_slug'])? $_POST['new_slug'] : ''; 576 die(get_sample_permalink_html($post_id, $title, $slug)); 575 577 break; 576 578 default : 577 579 do_action( 'wp_ajax_' . $_POST['action'] ); -
wp-admin/includes/post.php
581 581 } 582 582 } 583 583 584 function get_sample_permalink($id, $title , $name = null) {584 function get_sample_permalink($id, $title=null, $name = null) { 585 585 $post = &get_post($id); 586 586 if (!$post->ID) { 587 587 return array('', ''); … … 589 589 $original_status = $post->post_status; 590 590 $original_date = $post->post_date; 591 591 $original_name = $post->post_name; 592 $original_title = $post->post_title;593 592 594 $post->post_title = $title; 595 $post->post_name = sanitize_title($post->post_name? $post->post_name : $post->post_title, $post->ID); 596 593 // Hack: get_permalink would return ugly permalink for 594 // drafts, so we will fake, that our post is published 597 595 if (in_array($post->post_status, array('draft', 'pending'))) { 598 596 $post->post_status = 'publish'; 599 597 $post->post_date = date('Y-m-d H:i:s'); 598 $post->post_name = sanitize_title($post->post_name? $post->post_name : $post->post_title, $post->ID); 600 599 } 600 601 // If the user wants to set a new name -- override the current one 602 // Note: if empty name is supplied -- use the title instead, see #6072 601 603 if (!is_null($name)) { 602 $post->post_name = sanitize_title($name? $name : $ post->post_title, $post->ID);604 $post->post_name = sanitize_title($name? $name : $title, $post->ID); 603 605 } 604 606 605 607 $permalink = get_permalink($post, true);