ECDaddy

Menu

WordPress 插件:SEO Internal Links – php7.x 修复

SEO Internal Link 在 php7.x 已经不能正常使用,提示错误:

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /wp-content/plugins/seo-internal-links/seo-links.php on line

原因是插件中使用了带有modifer的函数,php5.5弃用了该函数,而php7被完全删除。

解决办法:

1、编辑 文件seo-links.php 94行附近以下部分:

$text = preg_replace('%(<h.*?>)(.*?)(</h.*?>)%sie', "'\\1'.insertspecialchars('\\2').'\\3'", $text);

替换为:

$text = preg_replace_callback( '%(<h.*?>)(.*?)(</h.*?>)%si', function($matches) {return($matches[1].insertspecialchars($matches[2]).$matches[3]);},$text);

2、然后在306行继续搜索以下部分:

$text = preg_replace('%(<h.*?>)(.*?)(</h.*?>)%sie', "'\\1'.removespecialchars('\\2').'\\3'", $text);

并将其更改为:

$text = preg_replace_callback( '%(<h.*?>)(.*?)(</h.*?>)%si', function($matches) {return($matches[1].removespecialchars($matches[2]).$matches[3]);},$text);

修复后,SEO Internal Links 就可以正常使用了。

SEO Internal Links 插件地址:https://wordpress.org/plugins/seo-internal-links/

— 于 共写了881个字
— 文内使用到的标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注