![WordPress主题如何批量编辑自定义字段插图 WordPress 主题批量编辑自定义字段](https://www.lajiz.cn/wp-content/uploads/2022/10/7ac26-2022102809160977.png)
<?php
//添加下拉列表选项
add_action( 'bulk_edit_custom_box', 'dmd_bulk_edit_fields', 10, 2 );
function dmd_bulk_edit_fields( $column_name, $post_type ) {
switch( $column_name ) {
case 'test': {
?>
<fieldset class="inline-edit-col-left">
<div class="inline-edit-col">
<label>
<span class="title">产品ID</span>
<input type="text" name="test">
</label>
</div>
<?php
break;
}
}
}
是不是觉得很熟悉,前面快速编辑我们使用了 quick_edit_custom_box 动作钩子来添加自定义字段到快速编辑面板中,批量操作使用的是 bulk_edit_custom_box 钩子。
保存修改内容也和快速编辑差不多,甚至更简单些。保存修改内容需要借助 save_post 钩子来实现,在接收修改内容的时候不再是 _POST 而是 _REQUEST,就这一个小差别。
//保存批量修改
add_action( 'save_post', 'dmd_bulk_edit_save' );
function dmd_bulk_edit_save( $post_id ){
// check bulk edit nonce
if ( ! wp_verify_nonce( $_REQUEST[ '_wpnonce' ], 'bulk-posts' ) ) {
return;
}
// update the test
$test= ! empty( $_REQUEST[ 'test' ] ) ? absint( $_REQUEST[ 'test' ] ) : 0;
update_post_meta( $post_id, 'test', $test);
}
搞定,打开你的 WordPress 后台,不出意外你应该能看到效果了。