首页 > 解决方案 > 如何在php中显示自定义错误消息?

问题描述

我正在尝试限制我网站上的文件上传大小并使用以下代码(效果很好):

function limit_upload_size( $file ) {

// Set the desired file size limit
$file_size_limit = 1024; // 1MB in KB

// exclude admins
if ( ! current_user_can( 'manage_options' ) ) {

    $current_size = $file['size'];
    $current_size = $current_size / 1024; //get size in KB

    if ( $current_size > $file_size_limit ) {
        $file['error'] = sprintf( __( 'ERROR: File size limit is %d KB.' ), $file_size_limit );
    }

}

return $file;

}
add_filter ( 'wp_handle_upload_prefilter', 'limit_upload_size', 10, 1 );

我遇到的唯一问题是没有显示错误消息。当我改变

$file['error'] = sprintf( __( 'ERROR: File size limit is %d KB.' ), $file_size_limit );

 $file['error'] = sprintf( __e( 'ERROR: File size limit is %d KB.' ), $file_size_limit );

我看到的是以下错误消息:错误 #-200:HTTP 错误而不是自定义错误消息。

这段代码有什么问题?

提前致谢!

标签: phpwordpressmessage

解决方案


那是因为__()返回翻译后的文本,同时_e()显示/回显它。当您在sprintf()函数内部时,您需要返回的翻译文本,而不是将其显示到屏幕上。

_e() 法典参考__() 法典参考

谢谢。


推荐阅读