主题检查插件提示inc/customizer.php翻译函数含变量$i的解决方法
解决方案
主题检查的提示是因为你直接在__()翻译函数内拼接了变量$i,这不符合WordPress国际化的最佳实践——翻译字符串应该是固定的,动态变量需通过占位符传递。
修改代码中label的定义部分,使用sprintf()配合翻译函数,将变量作为参数传入:
$category_count = 4; for ($i=1; $i <= $category_count ; $i++) { $wp_customize->add_setting( 'set_category'.$i, array( 'default' => 0, 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( new My_Dropdown_Category_Control( $wp_customize, 'set_category'.$i, array( 'section' => 'sec_home_page', 'label' => sprintf( __( 'Select the category %d', 'pahla-store' ), $i ), 'description' => __( 'If no category is selected, the category will be disabled.', 'pahla-store' ), ) ) ); }
说明
%d是整数类型的占位符,对应变量$i的数值类型;如果是字符串变量,可用%s占位符。- 这种方式让翻译工具能识别完整的原始字符串
Select the category %d,翻译者可以根据不同语言调整占位符的位置,同时保证动态值正确插入,完美适配WordPress的翻译机制,能顺利通过主题检查。
内容的提问来源于stack exchange,提问作者Almas Rafaqat
相关产品推荐
相关产品推荐

