我已经在非常旧的WP网站上安装了SSL证书。插件和WP本身一直在自动化,但是主题已经过时了,并且支持大约在三年前就停止了。这是主题https://wordpress.org/themes/white/该网站仍在1.0.1(2014年9月)。从那时起,有五个修订版,其中最后一次在2017年2月。https://themes.trac.wordpress.org/log/log/white?limit=100& mode = stop_on_copy& format=rsss。我设法安装了证书并更新到HTTPS的链接,所以没关系。不幸的是,现在有几个图像链接已断开 - 其中之一是徽标!我花了几个小时在网上研究了这一点,看来这很可能与PHP有关(我一无所知)。当我检查徽标损坏时,我会看到此..
<img alt="Featured Logo" src="[site_url_secure]/wp-content/uploads/****png">
几年前有人说他们已经解决了问题
removing [site_url_secure] from admin>functions>functions.filter.php
,但我不知道该怎么做。谁能建议我?
function of_filter_save_media_upload($data) {
if(!is_array($data)) return $data;
foreach ($data as $key => $value) {
if (is_string($value)) {
$data[$key] = str_replace(
array(
site_url('', 'http'),
site_url('', 'https'),
),
array(
'[site_url]',
'[site_url_secure]',
),
$value
);
}
}
return $data;
}
add_filter('of_options_before_save', 'of_filter_save_media_upload');
function of_filter_load_media_upload($data) {
if(!is_array($data)) return $data;
foreach ($data as $key => $value) {
if (is_string($value) && preg_match("/[site_url(_url_secure)?]/", $value)) {
$data[$key] = str_replace(
array(
'[site_url]',
'[site_url_secure]',
),
array(
site_url('', 'http'),
site_url('', 'https'),
),
$value
);
}
}
return $data;
}
add_filter('of_options_after_load', 'of_filter_load_media_upload');
解决!只是更改:
preg_match("/[site_url(_url_secure)?]/"
to:
preg_match("/[site_url(_secure)?]/"
在您的代码中:)