Javascript 如何在简单的本地化身WordPress插件中成功上传后重新加载页面?
我用它来允许我的博客作者上传一个头像 我的目标是在成功上传后刷新页面。我的第一个想法是查看simple-local-avatars.php源代码中的动作挂钩。我希望在编辑用户档案更新方法的末尾会有一个钩子,比如阿凡达上传成功,但是没有类似的。所以我需要找到另一种方法来刷新页面 成功上传后,我还可以如何刷新页面 更新:只是让我的问题更清楚一点,我的问题不是如何重新加载页面,我的问题是如何仅在上传成功时重新加载页面。例如:上传失败时,我不想重新加载 更新2:所以我的下一次尝试是这样做:Javascript 如何在简单的本地化身WordPress插件中成功上传后重新加载页面?,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我用它来允许我的博客作者上传一个头像 我的目标是在成功上传后刷新页面。我的第一个想法是查看simple-local-avatars.php源代码中的动作挂钩。我希望在编辑用户档案更新方法的末尾会有一个钩子,比如阿凡达上传成功,但是没有类似的。所以我需要找到另一种方法来刷新页面 成功上传后,我还可以如何刷新页面 更新:只是让我的问题更清楚一点,我的问题不是如何重新加载页面,我的问题是如何仅在上传成功时重新加载页面。例如:上传失败时,我不想重新加载 更新2:所以我的下一次尝试是这样做: functi
function simple_local_avatar_reload() {
$url = 'whatever the current page is';
wp_redirect( $url );
exit();
}
add_action( 'edit_user_profile_update', 'simple_local_avatar_reload', 99 );
但这会导致可怕的“headers ready sent”错误。我的解决方案是有条件地启用输出缓冲,然后在编辑用户配置文件更新完成后执行页面刷新。例如:
/**
* Enable output buffering.
*/
function output_buffer() {
if ( isset ( $_POST['submit'] ) )
ob_start();
}
add_action( 'init', 'output_buffer' );
/**
* Refresh page after avatar upload.
*/
function simple_local_avatar_reload() {
header( 'Location: ' . $_SERVER['REQUEST_URI'] );
}
add_action( 'edit_user_profile_update', 'simple_local_avatar_reload', 99 );
注意:即使上载失败,也会执行重新加载。但除非我修改插件的核心(我不想做),否则我将不得不使用它来解决问题