WordPress codex forbulk_edit_custom_box
, 还有这个bulk edit example 使用下面的JavaScript创建一个所选帖子ID的数组,以通过更新帖子的AJAX调用发送。
$bulk_row.find( \'#bulk-titles\' ).children().each( function() {
$post_ids.push( $( this ).attr( \'id\' ).replace( /^(ttle)/i, \'\' ) );
});
下面是围绕此代码段的完整代码。
我的列表表有元值的输入字段,内联快速编辑工作成功,但批量编辑失败。调试时,我发现$post\\u ids数组为空,因为我的页面上没有ID为的元素#bulk-titles
.
那么我的问题是#bulk-titles
元素来自,为什么我的页面没有它们?
$( \'#bulk_edit\' ).live( \'click\', function() {
// define the bulk edit row
var $bulk_row = $( \'#bulk-edit\' );
// get the selected post ids that are being edited
var $post_ids = new Array();
$bulk_row.find( \'#bulk-titles\' ).children().each( function() {
$post_ids.push( $( this ).attr( \'id\' ).replace( /^(ttle)/i, \'\' ) );
});
// get the custom fields
var $item_thickness = $bulk_row.find( \'input[name="item_thickness"]\' ).val();
var $item_width = $bulk_row.find( \'input[name="item_width"]\' ).val();
var $item_length = $bulk_row.find( \'input[name="item_length"]\' ).val();
// save the data
$.ajax({
url: ajaxurl, // this is a variable that WordPress has already defined for us
type: \'POST\',
async: false,
cache: false,
data: {
action: \'manage_wp_posts_using_bulk_quick_save_bulk_edit\', // this is the name of our WP AJAX function that we\'ll set up next
post_ids: $post_ids, // and these are the 2 parameters we\'re passing to our function
item_thickness: $item_thickness,
item_width: $item_width,
item_length: $item_length
}
});
});
SO网友:Andrew
在WordPress core中搜索后,我在wp-admin/includes/class-wp-posts-list-table.php
if ( post_type_supports( $screen->post_type, \'title\' ) ) :
if ( $bulk ) : ?>
<div id="bulk-title-div">
<div id="bulk-titles"></div>
</div>
<?php else : // $bulk ?>
所以,为了
#bulk-titles
元素作为管理列表的一部分您的工作需要支持的帖子类型
title
.
不支持新的自定义帖子类型title
默认情况下。我的自定义帖子类型没有使用标题,所以我设置了supports => false
作为传递给的参数register_post_type
呼叫
不提供supports
参数或将其设置为包含title
作为一名成员,我解决了批量编辑问题,并使用CSS将标题隐藏在编辑后页面上。