我试图在我的主题选项页面的文本输入中显示保存的url选项,但它只是不显示而已。我已经检查了数据库,并使用指定的选项名称保存了url,我尝试过简单地回显该选项而不转义,我还尝试过在add\\u settings\\u field()函数之外使用相同的esc\\u url()函数,它确实在那里起作用。设置和节也已注册。这让我相信我遗漏了一些非常明显的东西,或者这可能是设置API中的一个bug。非常感谢您的帮助,谢谢。
function outputFavIcon(){ ?>
<input class=\'uploadUrl\' id=\'upload_fav\' type=\'text\' size=\'50\' name=\'fp_smart_options[general_settings][fav_icon]\' value="<?php esc_url($settings[\'general_settings\'][\'fav_icon\'],array(\'http\',\'https\')); ?>" />
<input class=\'uploadButton\' id="upload_fav_button" type="button" value="Upload Fav Icon" /><br />
<span class=\'description\'><?php _e(\'Enter a URL or upload an image for your fav icon. This should be 16 x 16 pixels\'); ?>.</span>
<?php if(isset($settings[\'generel_settings\'][\'fav_icon\'])){
echo "<br /><img src=\'" . esc_url($settings[\'general_settings\'][\'fav_icon\'],array(\'http\',\'https\'),false) . "\' width=\'16\' height=\'16\' />";
}
}
add_settings_field(\'fpFavIcon\', \'Fav Icon\', \'outputFavIcon\', \'flexipress\', \'fpUploadables\');
最合适的回答,由SO网友:TheDeadMedic 整理而成
我想$settings
是否在代码的其他地方指定了变量?
如果是这样的话,那你就必须全球化,儿子(variable scope in PHP):
function outputFavIcon() {
global $settings; ?>
而且拼写正确;)
<?php if ( isset ( $settings[\'generel_settings\' /* <- typo? */][\'fav_icon\'] ) ) {