$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>Found a translation function that is missing a text-domain. Function _n|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

Found a translation function that is missing a text-domain. Function _n

matteradmin6PV0评论

I am getting this error?

Found a translation function that is missing a text-domain. Function _n

can this be fixed? how can the translation be done in this case?

if( count($value) < $field['min'] ) {

        $valid = _n( '%s requires at least %s selection', '%s requires at least %s selections', $field['min'], 'acf' );
        $valid = sprintf( $valid, $field['label'], $field['min'] );

    }

UPDATE

The error is gone when $field['min'] was assigned to a variable. I am i doing it correct?

I am getting this error?

Found a translation function that is missing a text-domain. Function _n

can this be fixed? how can the translation be done in this case?

if( count($value) < $field['min'] ) {

        $valid = _n( '%s requires at least %s selection', '%s requires at least %s selections', $field['min'], 'acf' );
        $valid = sprintf( $valid, $field['label'], $field['min'] );

    }

UPDATE

The error is gone when $field['min'] was assigned to a variable. I am i doing it correct?

Share Improve this question edited Nov 17, 2018 at 17:37 asked Nov 17, 2018 at 17:19 user145078user145078 3
  • @Nicolai thanks!! error was exactly on this line $valid = _n( '%s requires at least %s selection', '%s requires at least %s selections', $field['min'], 'acf' ); sorry but i am not able to understand your answer, may be a little explanation if possible :) – user145078 Commented Nov 17, 2018 at 18:00
  • @Nicolai if i replace $field['min'] with $out , then it shows no error.. $out = $field['min'] ..but not sure why it worked – user145078 Commented Nov 17, 2018 at 18:37
  • @Nicolai may be bacause asper codex.wordpress/Function_Reference/_n , Important: Never do a calculation inside the sprintf() function – user145078 Commented Nov 17, 2018 at 19:29
Add a comment  | 

1 Answer 1

Reset to default 1

Your error (actually a warning) seems to come from the Theme Check plugin.

There's nothing wrong with the code you're showing above. 'acf' is your text domain. and the _n function takes four arguments as you've given it.

It strikes me that the Theme Check plugin is not very good at static analysis of function calls. I actually get a different warning with your code (possibly a later version) It seems it can't cope with array expressions like $field['min']. But of course WordPress/PHP will execute this just fine.

As you discovered yourself, assigning a variable gets rid of the warning. So doing something like the following is absolutely fine and seems to satisfy Theme Check's code scanner.

$n = $field['min'];
$valid = _n( '....', '....', $n, 'acf' );
$valid = sprintf( $valid, $field['label'], $n );
Post a comment

comment list (0)

  1. No comments so far