Я пытаюсь изменить URL-адрес изображения через str_replace в моем шаблоне Wordpress, но это не работает.
Вот код:
$featured_img = get_the_post_thumbnail_url(get_the_ID(),'full');
$featured_img_url = str_replace("http://www.mydomain.it/",
"https://newdomain.it/mysite/",
$featured_img );
<div style = "width: 100%;
height: 100%;
background: url('<?php echo $featured_img_url; ?>') #fff top center;
background-size: cover;
border-radius: 1%;
min-height: 200px;"></div>
Фон div продолжает повторять исходный URL.
Я уже пробовал использовать как одинарные, так и двойные кавычки. Что я делаю неправильно?
Обновлено: если это может быть полезно, этот код работает внутри цикла Wordpress.
Обновлено: вот что я получаю, когда использую var_dump на $featured_img:
string(105) "http://www.staging1.serialfreaks.it/wp-content/uploads/2017/08/Game-Of-Thrones-7x07-The-Dragon-and-The-Wolf-11.png"
А вот полный цикл с правильными URL-адресами:
<?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
$featured_img = get_the_post_thumbnail_url(get_the_ID(),'full');
$featured_img_url = str_replace('http://www.staging1.serialfreaks.it/','https://s3.eu-central-1.amazonaws.com/serialfreaks/', $featured_img );
?>
<div class = "row" style = "padding-bottom: 20px;">
<div class = "col-md-5">
<div style = "width: 100%;
height: 100%;
background: url('<?php echo $featured_img_url; ?>') #fff top center;
background-size: cover;
border-radius: 1%;
min-height: 200px;">
</div>
...
Спасибо вам всем :)
не могли бы вы повторить $featured_img и сообщить нам его ценность
это полный URL-адрес изображения, например http://www.mydomain.it/uploads/file.jpg
Тогда $featured_img - это не то, что вы думаете. Где отладка var_dump()?
Добавьте точные URL-адреса, включая $featured_img и другие URL-адреса. Мы ничего не будем делать с вашим сайтом! Может кодировки разные!
Вероятно, что-то происходит между вашим str_replace() и HTML-кодом, который вы показываете. Было бы полезно увидеть полный цикл, о котором вы упомянули.
Я только что отредактировал свой вопрос с помощью var_dump из $featured_img и полного цикла






Пытаться :
$featured_img_url = substr_replace("http://www.mydomain.it/",
"http://www.mydomain.it/".$featured_img, 23 );
Сообщите мне, что вы получите.
Я думаю, что что-то очень неправильный с вашим значением $feature_img. Когда я запустил ваш код, он показывает, что от него ожидается. Отладить можно через var_dump($featured_img). В вашем URL-адресе могут быть ненужные символы или нежелательное пространство. См. ДЕМО, когда я пытаюсь использовать ваш опубликованный пример URL-адреса $feature_img: https://eval.in/1039310
<?php
$featured_img = 'http://www.mydomain.it/uploads/file.jpg';
echo "Before Replace=$featured_img\n";
$featured_img_url = str_replace("http://www.mydomain.it/","https://newdomain.it/mysite/", $featured_img );
echo "After Replace=$featured_img_url\n\n";
?>
<div style = "width: 100%;
height: 100%;
background: url('<?php echo $featured_img_url; ?>') #fff top center;
background-size: cover;
border-radius: 1%;
min-height: 200px;"></div>
Программный вывод
Before Replace=http://www.mydomain.it/uploads/file.jpg
After Replace=https://newdomain.it/mysite/uploads/file.jpg
<div style = "width: 100%;
height: 100%;
background: url('https://newdomain.it/mysite/uploads/file.jpg') #fff top center;
background-size: cover;
border-radius: 1%;
min-height: 200px;"></div>
В чем ценность
$featured_img?