我如何在WordPress站点上更改我的function.filter.php来修复损坏的链接[site_url_sec



我已经在非常旧的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)?]/"

在您的代码中:)

最新更新