函数文档

wp_ajax_edit_theme_plugin_file()

💡 云策文档标注

概述

wp_ajax_edit_theme_plugin_file() 是一个 WordPress AJAX 处理函数,用于通过 AJAX 请求编辑主题或插件文件。它调用 wp_edit_theme_plugin_file() 函数执行核心编辑逻辑,并根据结果返回 JSON 响应。

关键要点

  • 该函数是 wp_ajax_* 钩子的处理函数,专门处理 AJAX 请求以编辑主题或插件文件。
  • 它依赖于 wp_edit_theme_plugin_file() 进行文件编辑和参数验证,使用 wp_unslash() 处理输入数据。
  • 函数返回 JSON 响应:成功时使用 wp_send_json_success() 返回成功消息,失败时使用 wp_send_json_error() 返回错误代码、消息和数据。
  • 首次引入于 WordPress 4.9.0 版本。

代码示例

function wp_ajax_edit_theme_plugin_file() {
	$r = wp_edit_theme_plugin_file( wp_unslash( $_POST ) );

	if ( is_wp_error( $r ) ) {
		wp_send_json_error(
			array_merge(
				array(
					'code'    => $r->get_error_code(),
					'message' => $r->get_error_message(),
				),
				(array) $r->get_error_data()
			)
		);
	} else {
		wp_send_json_success(
			array(
				'message' => __( 'File edited successfully.' ),
			)
		);
	}
}

注意事项

  • 参数验证在 wp_edit_theme_plugin_file() 中完成,确保安全性和正确性。
  • 使用 __() 函数进行国际化,支持多语言环境。
  • 相关函数包括 wp_unslash()、is_wp_error()、wp_send_json_error() 和 wp_send_json_success(),开发者需熟悉这些函数以正确使用。

📄 原文内容

Handles editing a theme or plugin file via AJAX.

Description

See also

Source

function wp_ajax_edit_theme_plugin_file() {
	$r = wp_edit_theme_plugin_file( wp_unslash( $_POST ) ); // Validation of args is done in wp_edit_theme_plugin_file().

	if ( is_wp_error( $r ) ) {
		wp_send_json_error(
			array_merge(
				array(
					'code'    => $r->get_error_code(),
					'message' => $r->get_error_message(),
				),
				(array) $r->get_error_data()
			)
		);
	} else {
		wp_send_json_success(
			array(
				'message' => __( 'File edited successfully.' ),
			)
		);
	}
}

Changelog

Version Description
4.9.0 Introduced.