本 Blog 使用的是 WordPress,每次升级 WordPress 都需要修改文件,以修正一些问题,因此做个总记录,便于自己修改。

解决 WordPress 无法打开中文链接的文章(服务器支持 UTF-8,不再需要修改文件支持中文链接。)

wp-includes/class-wp.php 153 行:

153
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';

修改为:

153
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK') : '';

wp-includes/class-wp.php 157 行:

157
list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

修改为:

157
list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK') );

解决 WordPress 自动把半角符号替换为全角符号

两种解决方案:(采取第二种解决方案,WordPress 升级不需要再次修改。)

第一种:(修改 Blog 程序文件)

wp-includes/formatting.php 138 行与 140 行:

138
139
140
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

修改为:

138
139
140
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

第二种:(修改主题中的 functions.php)

打开 functions.php 文件添加以下语句:

1
2
3
4
/* 禁止文章标题自动全半角转换 */
remove_filter('the_title', 'wptexturize');
/* 禁止文章内容自动全半角转换 */
remove_filter('the_content', 'wptexturize');

解决 WordPress 评论 aria-required=’true’,造成无法通过 W3C 验证

将 wp-includes/comment-template.php 所有 aria-required=’true’ 删除,1975 行:

1975
$aria_req = ( $req ? " aria-required='true'" : '' );

修改为:

1975
$aria_req = ( $req ? " " : '' );

wp-includes/comment-template.php,1998 行:

1998
'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea , Courier, monospace !important; line-height: 1.1em !important; border-radius: 0 !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0 !important; overflow: visible !important; position: static !important; right: auto !important; top: auto !important; width: auto !important; box-sizing: content-box !important; direction: ltr !important; -webkit-box-shadow: none !important; box-shadow: none !important; display: inline !important; color: rgba(0, 0, 0, 1) !important; background-image: none !important'>,

修改为:

1998
'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea , Courier, monospace !important; line-height: 1.1em !important; border-radius: 0 !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0 !important; overflow: visible !important; position: static !important; right: auto !important; top: auto !important; width: auto !important; box-sizing: content-box !important; direction: ltr !important; -webkit-box-shadow: none !important; box-shadow: none !important; display: inline !important; color: rgba(0, 0, 0, 1) !important; background-image: none !important'>,

解决 baidu-sitemap 插件在发布或修改文章出现 PHP Warning

关于 baidu-sitemap 插件,在发布和更新文章,出现的 PHP Warning: Illegal string offset ‘lc_is_update_sitemap_when_post’ in…… baidu-sitemap-generator\baidu_sitemap.php ,是因为缺少 isset 而出现警告。当访问未定义变量时,PHP 会产生警告;因此需要用 empty() 或者 isset() 判断变量是否定义。

baidu-sitemap.php 文件中的第 406 行:

406
if($get_baidu_sitemap_options['lc_is_update_sitemap_when_post'] == '1')

修改为:

406
if(isset($get_baidu_sitemap_options['lc_is_update_sitemap_when_post']) == '1')

参考资料:





相关文章: