获取要在批量编辑AJAX调用中使用的选定帖子ID

时间:2015-08-03 作者:Andrew

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
        }
    });

});

1 个回复
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将标题隐藏在编辑后页面上。

结束

相关推荐

无法连接到WP-Admin,错误消息为空

我必须在一个网站上工作,但我无法连接到WordPress管理。。。我忘记了密码并多次重置密码,因此我知道我有正确的用户名/密码组合,但我仍然无法连接。每当我尝试连接时,它都会返回到wp登录页面,并显示一条空白的错误消息。试图更新我的WP安装,但没有解决问题(站点现在正在运行WP 4.2.2)此时会显示一条空白消息,其中包含正确和不正确的登录信息。我不知道是什么导致了这个问题,有人能帮忙吗?