diff --git a/wp-admin/edit-form-advanced.php b/wp-admin/edit-form-advanced.php
index 292b20449c..3621bd72da 100644
--- a/wp-admin/edit-form-advanced.php
+++ b/wp-admin/edit-form-advanced.php
@@ -85,8 +85,8 @@ endif; ?>
post_content); ?>
-
+
diff --git a/wp-admin/edit-page-form.php b/wp-admin/edit-page-form.php
index f5748aeaa7..4e111400a7 100644
--- a/wp-admin/edit-page-form.php
+++ b/wp-admin/edit-page-form.php
@@ -51,6 +51,12 @@ addLoadEvent(focusit);
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index 338844c183..a5b1c3380e 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -593,7 +593,7 @@ function get_sample_permalink($id, $name = null) {
function get_sample_permalink_html($id, $new_slug=null) {
$post = &get_post($id);
list($permalink, $post_name) = get_sample_permalink($post->ID, $new_slug);
- if (false === strpos($permalink, '%postname%')) {
+ if (false === strpos($permalink, '%postname%') && false === strpos($permalink, '%pagename%')) {
return '';
}
$title = __('Click to edit this part of the permalink');
@@ -603,7 +603,7 @@ function get_sample_permalink_html($id, $new_slug=null) {
$post_name_abridged = $post_name;
}
$post_name_html = '
'.$post_name_abridged.''.$post_name.'';
- $display_link = str_replace('%postname%', $post_name_html, $permalink);
+ $display_link = str_replace(array('%pagename%','%postname%'), $post_name_html, $permalink);
$return = '
' . __('Permalink:') . "\n" . '
' . $display_link . "\n";
$return .= '
' . __('Edit') . "\n";
return $return;
diff --git a/wp-admin/js/page.js b/wp-admin/js/page.js
index bebd6eb179..8bfc45e45e 100644
--- a/wp-admin/js/page.js
+++ b/wp-admin/js/page.js
@@ -2,6 +2,9 @@ addLoadEvent( function() {
add_postbox_toggles('page');
make_slugedit_clickable();
+ // hide advanced slug field
+ jQuery('#pageslugdiv').hide();
+
jQuery('#timestamp').css('display', 'none');
jQuery('.edit-timestamp').click(function () {
if (jQuery('#timestamp').is(":hidden")) {
diff --git a/wp-admin/js/post.js b/wp-admin/js/post.js
index e2b0dba1e7..84114989a2 100644
--- a/wp-admin/js/post.js
+++ b/wp-admin/js/post.js
@@ -68,6 +68,9 @@ addLoadEvent( function() {
// Editable slugs
make_slugedit_clickable();
+
+ // hide advanced slug field
+ jQuery('#slugdiv').hide();
jQuery('#tags-input').hide();
tag_update_quickclicks();
diff --git a/wp-includes/js/autosave.js b/wp-includes/js/autosave.js
index cd695a86f1..dd29bde341 100644
--- a/wp-includes/js/autosave.js
+++ b/wp-includes/js/autosave.js
@@ -12,6 +12,12 @@ function autosave_start_timer() {
jQuery("#post #submit").click(function() { jQuery.cancel(autosavePeriodical); });
jQuery("#post #publish").click(function() { jQuery.cancel(autosavePeriodical); });
jQuery("#post #deletepost").click(function() { jQuery.cancel(autosavePeriodical); });
+
+ // Autosave early on for a new post
+ jQuery("#content").keypress(function() {
+ if ( 1 === ( jQuery(this).val().length % 15 ) && 1 > parseInt(jQuery("#post_ID").val(),10) )
+ setTimeout(autosave, 5000);
+ });
}
addLoadEvent(autosave_start_timer)
@@ -132,6 +138,8 @@ function autosave() {
}
post_data["content"] = jQuery("#content").val();
+ if ( jQuery('#post_name').val() )
+ post_data["post_name"] = jQuery('#post_name').val();
if(post_data["post_title"].length==0 || post_data["content"].length==0 || post_data["post_title"] + post_data["content"] == autosaveLast) {
return;
diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php
index ee3608d283..65f8cc1f72 100644
--- a/wp-includes/link-template.php
+++ b/wp-includes/link-template.php
@@ -63,7 +63,7 @@ function get_permalink($id = 0, $leavename=false) {
if ( empty($post->ID) ) return FALSE;
if ( $post->post_type == 'page' )
- return get_page_link($post->ID);
+ return get_page_link($post->ID, $leavename);
elseif ($post->post_type == 'attachment')
return get_attachment_link($post->ID);
@@ -118,7 +118,7 @@ function post_permalink($post_id = 0, $deprecated = '') {
}
// Respects page_on_front. Use this one.
-function get_page_link($id = false) {
+function get_page_link($id = false, $leavename = false) {
global $post;
$id = (int) $id;
@@ -128,13 +128,13 @@ function get_page_link($id = false) {
if ( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') )
$link = get_option('home');
else
- $link = _get_page_link( $id );
+ $link = _get_page_link( $id , $leavename );
return apply_filters('page_link', $link, $id);
}
// Ignores page_on_front. Internal use only.
-function _get_page_link( $id = false ) {
+function _get_page_link( $id = false, $leavename = false ) {
global $post, $wp_rewrite;
if ( !$id )
@@ -146,7 +146,7 @@ function _get_page_link( $id = false ) {
if ( '' != $pagestruct && isset($post->post_status) && 'draft' != $post->post_status ) {
$link = get_page_uri($id);
- $link = str_replace('%pagename%', $link, $pagestruct);
+ $link = ( $leavename ) ? $pagestruct : str_replace('%pagename%', $link, $pagestruct);
$link = get_option('home') . "/$link";
$link = user_trailingslashit($link, 'page');
} else {
diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php
index b049db9855..d0bc0dee35 100644
--- a/wp-includes/script-loader.php
+++ b/wp-includes/script-loader.php
@@ -44,7 +44,7 @@ class WP_Scripts {
$this->add( 'autosave', '/wp-includes/js/autosave.js', array('jquery', 'schedule'), '20080221');
$this->localize( 'autosave', 'autosaveL10n', array(
- 'autosaveInterval' => apply_filters('autosave_interval', '120'),
+ 'autosaveInterval' => apply_filters('autosave_interval', '60'),
'errorText' => __('Error: %response%'),
'failText' => __('Error: Autosave Failed.'),
'previewPageText' => __('Preview this Page'),
@@ -148,7 +148,7 @@ class WP_Scripts {
'save' => __('Save'),
'cancel' => __('Cancel'),
) );
- $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080128' );
+ $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080221' );
$this->localize( 'post', 'postL10n', array(
'tagsUsed' => __('Tags used on this post:'),
'add' => attribute_escape(__('Add')),