您实际上可以在设置中使用任何字符(除了引号)。这些都是有效的选项名称:
"my option name"
"my:option name"
"MY->OPTION_NAME"
"My/Option/Name"
"my-option-name"
Important Limitations
<选项名称的最大长度必须为64个字符如果指定更长的名称,选项名称将被截断,以便在DB中容纳64个字符(而不是在代码中)。因此,无法再次检索选项值。始终确保选项名称的最大长度为64个字符。
选项名称不区分大小写如果保存选项APIKEY
您还可以通过apikey
小心不要意外使用WP核心选项名称!您应该始终在选项名称前加前缀
My tipp
创建一个小函数,用于为每个插件/主题中的选项键添加前缀/清理选项键,该函数可以为您解决限制,如下所示:
// Makes sure that all option names have same structure.
function sanitize_option_key( $name ) {
$prefix = \'my_\';
// Basic sanitation: Trim and make option name lower case.
$name = strtolower( trim( $name ) );
// Ensure the option does not contain spaces
$name = str_replace( array( \'-\', \' \' ), \'_\', $name );
// Prefix prevents any collisions with WP
$name = $prefix . $name;
// Also check the max-length
if ( strlen( $name ) > 64 ) {
error_log( \'WARNING - Option name is too long and was truncated: \' . $name );
$name = substr( $name, 0, 64 );
}
return $name;
}
// Using this function:
update_option( sanitize_option_key( \'option value\' ), \'test\' );
// option is saved in DB as \'my_option_value\'
echo get_option( sanitize_option_key( \'Option_Value\' ) );
// will output \'test\';