当打印到wordpress常规设置显示单选按钮值时,我一直在低于错误:
第565行的F:\ wamp \ www \ plugin-tester \ wp-content \ themes \ twentythirteen \ functions.php中的非法字符串偏移'服务'
第568行的F:\ wamp \ www \ plugin-tester \ wp-content \ themes \ twentythirteen \ functions.php中的非法字符串偏移'服务'
这是我在function.php文件中添加的代码:
add_filter('admin_init', 'myservice_register_function');
function myservice_register_function(){
register_setting('general', 'my_service', 'esc_attr');
add_settings_field('my_service', '<label for="service_need">'.__('Do You need My Service' , 'my_service' ).'</label>' , 'service_function', 'general');
}
function service_function(){
$options = get_option( 'my_service', '');
// $options = get_settings( 'my_service');
if($options['service'] == 'YES') { //line number 565
echo 'Yes, Service Need';
}
if($options['service'] == 'NO') { // line number 568
echo 'No Need Service';
}
$html = '<input type="radio" name="my_service[service]" value="YES"/>';
$html .= '<label> NEED </label>';
$html .= '<input type="radio" name="my_service[service]" value="NO"/>';
$html .= '<label > NO NEED </label>';
echo $html;
}
请帮助某人并在我错误的地方注明我的代码。
答案 0 :(得分:1)
你的$ options变量可能是一个字符串,而不是一个数组。当您编写$options['arrayKey']
时,您将$ options视为数组。
制作调试功能:
function my_debug($o){
echo "<pre>";
print_r($o);
echo "</pre>";
}
在第563-564行的$ options变量中调用它:
my_debug($options);
你会看到它的样子,无论是字符串还是数组,以及它是否有“服务”键,就像你正在检查一样。
答案 1 :(得分:0)
if($options == 'YES') { //line number 565
echo 'Yes, Service Need';
}
if($options == 'NO') { // line number 568
echo 'No Need Service';
}
get_option返回您传递的value
的{{1}}和未找到的情况下的布尔key
。您将值解释为数组
请参阅此处 Get Option