为 WordPress 添加自定义批量操作

知更鸟 2021年12月30日12:11:33WordPress2169阅读模式

默认 WordPress 后台文章批量操作中,只有编辑和移动到回收站,可以按文本方法添加自定义批量操作选项,例如添加批量将文章改为草稿和自动为选中的文章添加自定义字段和值。文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

为 WordPress 添加自定义批量操作

为 WordPress 添加自定义批量操作

文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

将下面代码添加到当前主题函数模板functions.php中,最终效果:文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

为 WordPress 添加自定义批量操作文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

 文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

section

第一步 在批量操作下拉列表中添加选项。文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

// 在批量操作下拉列表中添加选项
add_filter( 'bulk_actions-edit-post', 'zm_my_bulk_actions' );

function zm_my_bulk_actions( $bulk_array ) {
	$bulk_array['zm_make_draft'] = '状态改为草稿';
	$bulk_array['zm_set_price'] = '添加自定义字段 ';
	return $bulk_array;
}

默认是为文章添加自定义批量操作,页面、评论、媒体等,可以将代码中的:文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

bulk_actions-edit-post文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

改为:文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

展开收缩
文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

为页面添加批量操作,请使用:bulk_actions-edit-page文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

自定义文章类型:bulk_actions-edit-{CPT NAME}文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

自定义分类法:bulk_actions-edit-{TAXONOMY NAME}文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

评论:bulk_actions-edit-comments文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

插件:bulk_actions-plugins文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

用户:bulk_actions-users文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

媒体:bulk_actions-upload文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

section

第二步 添加处理动作。文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

// 处理执行
add_filter( 'handle_bulk_actions-edit-post', 'zm_bulk_action_handler', 10, 3 );

function zm_bulk_action_handler( $redirect, $doaction, $object_ids ) {
	$redirect = remove_query_arg( array( 'zm_make_draft_done', 'zm_bulk_price_changed' ), $redirect );

	// 改为草稿
	if ( $doaction == 'zm_make_draft' ) {
		foreach ( $object_ids as $post_id ) {
			wp_update_post( array(
				'ID' => $post_id,
				'post_status' => 'draft'// 草稿
			) );
		}

		$redirect = add_query_arg( 'zm_make_draft_done', count( $object_ids ), $redirect );
	}

	// 添加自定义字段
	if ( $doaction == 'zm_set_price' ) {
		foreach ( $object_ids as $post_id ) {
			update_post_meta( $post_id, 'product_price', 1000 );// 自定义字段名称:product_price,值:1000
		}
		$redirect = add_query_arg( 'zm_bulk_price_changed', count( $object_ids ), $redirect );
	}
	return $redirect;
}
section

第三步 添加处理后的提示文字。文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

// 添加提示文字
add_action( 'admin_notices', 'zm_bulk_action_notices' );

function zm_bulk_action_notices() {
	// 改为草稿
	if ( ! empty( $_REQUEST['zm_make_draft_done'] ) ) {
		echo '<div id="message" class="updated notice is-dismissible">
			<p>文章状态已更新。</p>
		</div>';
	}

	// 添加自定义字段
	if( ! empty( $_REQUEST['zm_bulk_price_changed'] ) ) {
		printf( '<div id="message" class="updated notice is-dismissible"><p>' .
			_n( '有 %s 文章添加了价格自定义字段。',
			'有 %s 文章添加了价格自定义字段。',
			intval( $_REQUEST['zm_bulk_price_changed'] )
		) . '</p></div>', intval( $_REQUEST['zm_bulk_price_changed'] ) );
	}
}

上面代码只起个抛砖引玉的作用,具体怎么使用,发挥你的想像力吧。文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

默认WordPress分类管理只有批量删除功能,也不能批量增加分类,本文介绍两款分类管理插件可以实现分类批量操作。 [cha...
252

 文章源自知更鸟-https://zmingcx.com/wordpress-custom-bulk-actions.html

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
WordPress 主题添加鼠标跟随特效 WordPress

WordPress 主题添加鼠标跟随特效

2022年第一篇文章,分享个鼠标跟随特效,给喜欢花花草草的朋友们。这个鼠标跟随特效还是很酷,不是那种鼠标后面跟随一大堆零零碎碎的,仅一个圆圈跟随鼠标指针,当遇到超链接圆圈会变成半透明的背景,国外网站常...
采用AJAX方式将文章移到回收站中 WordPress

采用AJAX方式将文章移到回收站中

在WordPress 后台文章列表中,可以单独将某篇文章移动到回收站中,但移动后页面会刷新一次,可通过下面的代码实现无刷新将文章移动到回收站中。 采用AJAX方式将文章移到回收站中 第一步,在当前主题...
如何重复使用已设置好的 WordPress 小工具 Plugins

如何重复使用已设置好的 WordPress 小工具

默认情况下WordPress小工具可以重复添加到不同的位置,但已添加设置好的小工具,不能直接拖放到其它位置重复使用。比如我的begin主题集成40多个小工具,每个小工具都有丰富的设置选项,想在不同的位...
评论:2   其中:访客  1   博主  1
    • 佛系软件
      佛系软件 3

      可以把文章改成发布状态吗

    匿名

    发表评论

    匿名网友

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    确定