WordPress 2.8.6 foobars我的主题选项与转义斜杠

时间:2009-11-17 01:44:04

标签: wordpress

我刚刚将博客升级到WordPress 2.8.6并发现他们的报价与2.8.5不同

我有一个主题选项面板,允许用户将他们的img标签输入到文本区域。

但是,当保存选项时,WP会将转义斜杠添加到它在文本区域中找到的双引号。

示例:

<img src="somefile.jpg" />

变为

<img src=\"somefile.jpg\" />

这会导致图像无法加载

此外,在我的主题选项的每次保存中,反斜杠的数量增加了一倍!!!

function mytheme_add_admin() {

global $themename, $shortname, $options;

if ( $_GET['page'] == basename(__FILE__) ) {

if ( 'save' == $_REQUEST['action'] ) {

  foreach ($options as $value) {
    update_option( $value['id'], $_REQUEST[ $value['id'] ] ); 
  }

  foreach ($options as $value) {
    if( isset( $_REQUEST[ $value['id'] ] ) ) { 
      update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); 
    } else { 
      delete_option( $value['id'] ); 
    } 
  }

  header("Location: themes.php?page=functions.php&saved=true");
  die;

} else if( 'reset' == $_REQUEST['action'] ) {

  foreach ($options as $value) {
     delete_option( $value['id'] ); 
  }

 header("Location: themes.php?page=functions.php&reset=true");
 die;

}

1 个答案:

答案 0 :(得分:5)

WordPress始终执行magic_quotes_gpc以获得向后兼容的原因。在处理GPC数据时,您必须对数据运行stripslashes()以获得原始格式。