Wordpress options text format

时间:2013-03-02 作者:SomeJohn

Wordpress使用智能引号转换我的主题选项文本。

我知道要从帖子等中消除问题:

remove_filter(\'the_content\', \'wptexturize\');

remove_filter(\'the_excerpt\', \'wptexturize\');

remove_filter(\'comment_text\', \'wptexturize\');
但如何在保存到Wordpress options api时消除这种影响?

2 个回复
SO网友:Matt van Andel

WordPress不会自动纹理化options. 如果您正在使用add_option(), update_option(), 和/或get_option() 那么它应该“正常工作”。

示例:

//Add an option to the database
update_option(\'my_test_option\',\'This is an option. Isn\\\'t it "special"?\');

//Returns string: This is an option. Isn\'t it "special"?
echo get_option(\'my_test_option\');

SO网友:diggy

使用函数替换智能引号(以下基于this plugin), 在里面functions.php:

function wpse89095_untexturize( $text ) {
    $char_codes   = array( \'‘\', \'’\', \'“\', \'”\', \'′\', \'″\' );
    $replacements = array( "\'", "\'", \'"\', \'"\', "\'", \'"\' );
    return str_replace( $char_codes, $replacements, $text );
}
然后在将选项保存到数据库之前,在functions.php:

function wpse89095_untexturize_option( $newvalue, $oldvalue ){
    $newvalue = wpse89095_untexturize( $newvalue );
    return $newvalue;
}
add_filter( \'pre_update_option_{OPTION}\', \'wpse89095_untexturize_option\', 10, 2 );
注意:更换{OPTION} 使用要筛选的选项的名称。

结束

相关推荐

Upload images - Theme options

我正在使用这个很棒的[图坦卡门+教程][1]创建主题选项页面。这对我来说很好,因为我需要通过css更改div的背景图像。它可以很好地与一个图像,但我不知道如何使它与2个图像?如果你能告诉我我做错了什么,那将是一个巨大的帮助?谢谢 <?php function wptuts_get_default_options() { $options = array(); $options[] = array(\'logo\' => \'\');