From 698957e40ebc2d50d9e74672451b82292f515617 Mon Sep 17 00:00:00 2001 From: duck_ Date: Mon, 19 Sep 2011 17:02:58 +0000 Subject: [PATCH] Add post formats to quick edit and bulk edit. Fixes #18083. git-svn-id: http://svn.automattic.com/wordpress/trunk@18722 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../includes/class-wp-posts-list-table.php | 19 +++++++++++++++++++ wp-admin/includes/post.php | 14 ++++++++++++-- wp-admin/includes/template.php | 3 +++ wp-admin/js/inline-edit-post.dev.js | 2 +- wp-admin/js/inline-edit-post.js | 2 +- wp-includes/script-loader.php | 2 +- 6 files changed, 37 insertions(+), 5 deletions(-) diff --git a/wp-admin/includes/class-wp-posts-list-table.php b/wp-admin/includes/class-wp-posts-list-table.php index 1104fb457e..fe8ef112df 100644 --- a/wp-admin/includes/class-wp-posts-list-table.php +++ b/wp-admin/includes/class-wp-posts-list-table.php @@ -987,6 +987,25 @@ class WP_Posts_List_Table extends WP_List_Table { + post_type, 'post-formats' ) && current_theme_supports( 'post-formats' ) ) : + $post_formats = get_theme_support( 'post-formats' ); + if ( is_array( $post_formats[0] ) ) : ?> +
+ +
+ + + $terms ) { if ( empty($terms) ) continue; - if ( is_taxonomy_hierarchical( $tax_name ) ) + if ( is_taxonomy_hierarchical( $tax_name ) ) { $tax_input[$tax_name] = array_map( 'absint', $terms ); - else { + } else { $tax_input[$tax_name] = preg_replace( '/\s*,\s*/', ',', rtrim( trim($terms), ' ,' ) ); $tax_input[$tax_name] = explode(',', $tax_input[$tax_name]); } @@ -332,6 +332,14 @@ function bulk_edit_posts( $post_data = null ) { } } + if ( isset( $post_data['post_format'] ) ) { + if ( '0' == $post_data['post_format'] ) + $post_data['post_format'] = false; + // don't change the post format if it's not supported or not '0' (standard) + elseif ( ! current_theme_supports( 'post-formats', $post_data['post_format'] ) ) + unset( $post_data['post_format'] ); + } + $updated = $skipped = $locked = array(); foreach ( $post_IDs as $post_ID ) { $post_type_object = get_post_type_object( get_post_type( $post_ID ) ); @@ -382,6 +390,8 @@ function bulk_edit_posts( $post_data = null ) { unstick_post( $post_ID ); } + if ( isset( $post_data['post_format'] ) ) + set_post_format( $post_ID, $post_data['post_format'] ); } return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked ); diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php index ea1adb0b2c..c9481061db 100644 --- a/wp-admin/includes/template.php +++ b/wp-admin/includes/template.php @@ -310,6 +310,9 @@ function get_inline_data($post) { if ( !$post_type_object->hierarchical ) echo '
' . (is_sticky($post->ID) ? 'sticky' : '') . '
'; + if ( post_type_supports( $post->post_type, 'post-formats' ) ) + echo '
' . esc_html( get_post_format( $post->ID ) ) . '
'; + echo ''; } diff --git a/wp-admin/js/inline-edit-post.dev.js b/wp-admin/js/inline-edit-post.dev.js index b470c33521..91d09aa358 100644 --- a/wp-admin/js/inline-edit-post.dev.js +++ b/wp-admin/js/inline-edit-post.dev.js @@ -129,7 +129,7 @@ inlineEditPost = { if ( typeof(id) == 'object' ) id = t.getId(id); - fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password']; + fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password', 'post_format']; if ( t.type == 'page' ) fields.push('post_parent', 'menu_order', 'page_template'); diff --git a/wp-admin/js/inline-edit-post.js b/wp-admin/js/inline-edit-post.js index b72bd878f3..fb312995ce 100644 --- a/wp-admin/js/inline-edit-post.js +++ b/wp-admin/js/inline-edit-post.js @@ -1 +1 @@ -(function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var e=a("input.inline-edit-password-input");if(a(this).prop("checked")){e.val("").prop("disabled",true)}else{e.prop("disabled",false)}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(f){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).prop("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='
X'+c+"
"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});if("post"==d){b="post_tag";a('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:", "})}a("html, body").animate({scrollTop:0},"fast")},edit:function(b){var o=this,j,d,g,n,i,h,m,l,c=true,p,e;o.revert();if(typeof(b)=="object"){b=o.getId(b)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password"];if(o.type=="page"){j.push("post_parent","menu_order","page_template")}d=a("#inline-edit").clone(true);a("td",d).attr("colspan",a(".widefat:first thead th:visible").length);if(a(o.what+b).hasClass("alternate")){a(d).addClass("alternate")}a(o.what+b).hide().after(d);g=a("#inline_"+b);if(!a(':input[name="post_author"] option[value="'+a(".post_author",g).text()+'"]',d).val()){a(':input[name="post_author"]',d).prepend('")}if(a(':input[name="post_author"] option',d).length==1){a("label.inline-edit-author",d).hide()}for(var k=0;k0){m=h[0].className.split("-")[1];l=h;while(c){l=l.next("option");if(l.length==0){break}p=l[0].className.split("-")[1];if(p<=m){c=false}else{l.remove();l=h}}h.remove()}a(d).attr("id","edit-"+b).addClass("inline-editor").show();a(".ptitle",d).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery); \ No newline at end of file +(function($){inlineEditPost={init:function(){var t=this,qeRow=$("#inline-edit"),bulkRow=$("#bulk-edit");t.type=$("table.widefat").hasClass("pages")?"page":"post";t.what="#post-";qeRow.keyup(function(e){if(e.which==27){return inlineEditPost.revert()}});bulkRow.keyup(function(e){if(e.which==27){return inlineEditPost.revert()}});$("a.cancel",qeRow).click(function(){return inlineEditPost.revert()});$("a.save",qeRow).click(function(){return inlineEditPost.save(this)});$("td",qeRow).keydown(function(e){if(e.which==13){return inlineEditPost.save(this)}});$("a.cancel",bulkRow).click(function(){return inlineEditPost.revert()});$('#inline-edit .inline-edit-private input[value="private"]').click(function(){var pw=$("input.inline-edit-password-input");if($(this).prop("checked")){pw.val("").prop("disabled",true)}else{pw.prop("disabled",false)}});$("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});$("#bulk-title-div").parents("fieldset").after($("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend($("#inline-edit label.inline-edit-tags").clone());$("span.catshow").click(function(){$(this).hide().next().show().parent().next().addClass("cat-hover")});$("span.cathide").click(function(){$(this).hide().prev().show().parent().next().removeClass("cat-hover")});$('select[name="_status"] option[value="future"]',bulkRow).remove();$("#doaction, #doaction2").click(function(e){var n=$(this).attr("id").substr(2);if($('select[name="'+n+'"]').val()=="edit"){e.preventDefault();t.setBulk()}else{if($("form#posts-filter tr.inline-editor").length>0){t.revert()}}});$("#post-query-submit").mousedown(function(e){t.revert();$('select[name^="action"]').val("-1")})},toggle:function(el){var t=this;$(t.what+t.getId(el)).css("display")=="none"?t.revert():t.edit(el)},setBulk:function(){var te="",type=this.type,tax,c=true;this.revert();$("#bulk-edit td").attr("colspan",$(".widefat:first thead th:visible").length);$("table.widefat tbody").prepend($("#bulk-edit"));$("#bulk-edit").addClass("inline-editor").show();$('tbody th.check-column input[type="checkbox"]').each(function(i){if($(this).prop("checked")){c=false;var id=$(this).val(),theTitle;theTitle=$("#inline_"+id+" .post_title").text()||inlineEditL10n.notitle;te+='
X'+theTitle+"
"}});if(c){return this.revert()}$("#bulk-titles").html(te);$("#bulk-titles a").click(function(){var id=$(this).attr("id").substr(1);$('table.widefat input[value="'+id+'"]').prop("checked",false);$("#ttle"+id).remove()});if("post"==type){tax="post_tag";$('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+tax,{delay:500,minchars:2,multiple:true,multipleSep:", "})}$("html, body").animate({scrollTop:0},"fast")},edit:function(id){var t=this,fields,editRow,rowData,cats,status,pageOpt,pageLevel,nextPage,pageLoop=true,nextLevel,tax;t.revert();if(typeof(id)=="object"){id=t.getId(id)}fields=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format"];if(t.type=="page"){fields.push("post_parent","menu_order","page_template")}editRow=$("#inline-edit").clone(true);$("td",editRow).attr("colspan",$(".widefat:first thead th:visible").length);if($(t.what+id).hasClass("alternate")){$(editRow).addClass("alternate")}$(t.what+id).hide().after(editRow);rowData=$("#inline_"+id);if(!$(':input[name="post_author"] option[value="'+$(".post_author",rowData).text()+'"]',editRow).val()){$(':input[name="post_author"]',editRow).prepend('")}if($(':input[name="post_author"] option',editRow).length==1){$("label.inline-edit-author",editRow).hide()}for(var f=0;f0){pageLevel=pageOpt[0].className.split("-")[1];nextPage=pageOpt;while(pageLoop){nextPage=nextPage.next("option");if(nextPage.length==0){break}nextLevel=nextPage[0].className.split("-")[1];if(nextLevel<=pageLevel){pageLoop=false}else{nextPage.remove();nextPage=pageOpt}}pageOpt.remove()}$(editRow).attr("id","edit-"+id).addClass("inline-editor").show();$(".ptitle",editRow).focus();return false},save:function(id){var params,fields,page=$(".post_status_page").val()||"";if(typeof(id)=="object"){id=this.getId(id)}$("table.widefat .inline-edit-save .waiting").show();params={action:"inline-save",post_type:typenow,post_ID:id,edit_date:"true",post_status:page};fields=$("#edit-"+id+" :input").serialize();params=fields+"&"+$.param(params);$.post("admin-ajax.php",params,function(r){$("table.widefat .inline-edit-save .waiting").hide();if(r){if(-1!=r.indexOf("]*?>/g,"");$("#edit-"+id+" .inline-edit-save .error").html(r).show()}}else{$("#edit-"+id+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var id=$("table.widefat tr.inline-editor").attr("id");if(id){$("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==id){$("table.widefat #bulk-edit").removeClass("inline-editor").hide();$("#bulk-titles").html("");$("#inlineedit").append($("#bulk-edit"))}else{$("#"+id).remove();id=id.substr(id.lastIndexOf("-")+1);$(this.what+id).show()}}return false},getId:function(o){var id=$(o).closest("tr").attr("id"),parts=id.split("-");return parts[parts.length-1]}};$(document).ready(function(){inlineEditPost.init()})})(jQuery); \ No newline at end of file diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index dfbb35f6e4..8ee3d24ef8 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -323,7 +323,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), '20100407', 1 ); - $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20110609', 1 ); + $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20110919', 1 ); $scripts->add_script_data( 'inline-edit-post', 'inlineEditL10n', array( 'error' => __('Error while saving the changes.'), 'ntdeltitle' => __('Remove From Bulk Edit'),