Как я могу изменить свои functions.filter.php на сайте Wordpress, чтобы исправить неработающую ссылку [site_url_secure] - PullRequest
0 голосов
/ 27 февраля 2019

Я установил SSL-сертификат на очень старый сайт WP.Плагины и сам WP были автоматически обновлены, но тема давно устарела, и поддержка прекратилась почти три года назад.Это тема https://wordpress.org/themes/white/ Сайт все еще на 1.0.1 (сентябрь 2014).С тех пор было пять изменений, последняя из которых была в феврале 2017 года. https://themes.trac.wordpress.org/log/white?limit=100&mode=stop_on_copy&format=rss.Мне удалось установить сертификат и обновил ссылки на 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');

1 Ответ

0 голосов
/ 27 марта 2019

решено!Просто измените:

preg_match("/\[site_url(_url_secure)?\]/" 

на:

preg_match("/\[site_url(_secure)?\]/"

в вашем коде:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...