添加设置字段回调中的esc_url不起作用

时间:2012-08-05 作者:Ben

我试图在我的主题选项页面的文本输入中显示保存的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\');

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

我想$settings 是否在代码的其他地方指定了变量?

如果是这样的话,那你就必须全球化,儿子(variable scope in PHP):

function outputFavIcon() {
    global $settings; ?>
而且拼写正确;)

<?php if ( isset ( $settings[\'generel_settings\' /* <- typo? */][\'fav_icon\'] ) ) {

结束

相关推荐

Disable escaping html

我在用SyntaxHighlighter Evolved 突出显示代码示例。E、 g。[csharp] string s = \"text\"; List<int> numbers = new List<int>(); [/csharp] 当我第一次保存它时,没关系,但编辑wordpress时,文本会更改为[csharp] string s = &quot;text&quot;; List&lt;int&am