私はそれをWPCS
と互換性があるようにするためにプラグインを検証しています。 gettext
コマンドを実行したときにエラーを返すphpcs
プレースホルダーを含む関数。参考のためにエラーのソースコードとスクリーンショットが添付されています。多分私は何かが足りないか間違った方法でそれをやっていますか?
/**
* Add Error.
*
* @package Mypackage
* @since 0.1.0
*
* @param string $code Error Code.
* @param string $message Error Message.
* @return object WP_Error Returns Error Object.
*/
function mypackage_add_error( $code, $message ) {
/* translators: %s: Error Message */
return new WP_Error( $code, sprintf( esc_html__( '%s', 'mypackage' ), $message ) );
}
翻訳可能なコンテンツではないプレースホルダー%s
を翻訳しようとしていますが、後で変数に置き換えられます。翻訳可能な$message
の代わりに翻訳された$message
を渡すのが最善です。
このように関数定義を書くべきです
function mypackage_add_error( $code, $message ) {
return new WP_Error( $code, $message );
}
そして関数mypackage_add_error()
はこのように使われるべきです
mypackage_add_error( 'test-error', esc_html__( 'Test error message', 'text-domain' ) );