HTML-код
<img class = "blog-picture ul-normal-classic" src = "https://example.pk/wp-content/uploads/2020/12/example300-300x203.jpg" alt = "Beintehaa300">
Что мне нужно:
<img class = "blog-picture ul-normal-classic" src = "https://example.pk/wp-content/uploads/2020/12/example300.jpg" alt = "Beintehaa300">
Я просто хочу удалить (-300x203) из src. Возможно ли это с помощью js, PHP или любого другого языка, на котором я хочу реализовать этот код в WordPress?
Я сделал простой пост через wordpress, а затем дал ему категорию, после чего в elementor я назвал эту категорию. Таким образом, некоторые изображения были обрезаны по умолчанию, а некоторые в порядке.
Пожалуйста, поделитесь более подробной информацией. Кроме того, пожалуйста, не используйте нерелевантные теги - этот вопрос, скорее всего, не относится ко всем отмеченным технологиям.
используйте preg replace, предполагая, что ваше изображение всегда имеет одну и ту же миниатюру, похоже, что текущее имеет ширину 300 пикселей и высоту на авто, которую вы можете использовать
$content = '<img class = "blog-picture ul-normal-classic" src = "https://example.pk/wp-content/uploads/2020/12/example300-300x203.jpg" alt = "Beintehaa300">';
$content = preg_replace('/-300x*[0-9][0-9][0-9]./', '.', $content);
echo $content;
если вы хотите, чтобы он работал с любыми размерами эскизов (и получал полный URL-адрес изображения), вы можете его мобифицировать, чтобы
$content = preg_replace('/-*[0-9][0-9][0-9]x*[0-9][0-9][0-9]./', '.', $content);
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var allImages = document.querySelectorAll('img');
for (var i = 0; i < allImages.length; i++) {
var imageSource = allImages[i].getAttribute('src');
if (imageSource.includes('-300x203')) {
var replacedSource = allImages[i].getAttribute('src').replace('-300x203', '');
allImages[i].setAttribute('src', replacedSource);
}
}
});
</script>
Поместите этот скрипт на страницу
У меня более сотни изображений, поэтому, пожалуйста, предложите мне функцию, которая может удалить (-300x203) с изображений.
хорошо, я отредактировал ответ, как вы просили.
Что ж, ваша работа великолепна, но она работает локально, а не на сервере.
это связано с тем, что WordPress требует времени для загрузки на сервер по сравнению с локальным, вы можете использовать функцию «setTimeout» и добавить задержку на 2 секунды. Или вы нашли какую-то другую ошибку на консоли?? Если можно, поделитесь ссылкой на свой сайт.
Вы должны вставить код PHP, который генерирует это. Внутри WordPress можно просто указать размер изображения, чтобы получить то, что вам нужно, но нам нужно увидеть фрагмент кода, который отвечает за этот вывод.