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. |