Как убрать у картинок все ссылки на Wordpress?

12
Kory
На сайте с 27.11.2006
Offline
297
6744

В общем, представьте себе сайт на вордпресс, где у каждого поста есть картинка вот в таком виде

<a href=""...><img src=""/></a>

То есть картинка ссылается на себя же, в принципе стандарт на вордпресс.

Можно ли как-то убрать все ссылки, чтобы были только картинки и пользователи не могли на них кликать.

Собираю статистику по НЧ.
artalex
На сайте с 08.12.2005
Offline
144
#1

В файл functions.php вашей темы вставьте:

add_filter( 'the_content', 'attachment_image_link_remove_filter' );
function attachment_image_link_remove_filter( $content ) {
$content =
preg_replace(
array('{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
'{ wp-image-[0-9]*» /></a>}'),
array('<img','» />'),
$content
);
return $content;
}
SeVlad
На сайте с 03.11.2008
Offline
1609
#2
Kory:
Можно ли как-то убрать все ссылки, чтобы были только картинки и пользователи не могли на них кликать.

Мб просто не ставить их?

Ваш КО.

Или задача удалить массово уже проставленные?

Тогда 2 варианта:

1. Пройтись по базе заменой с регулярками. Не знаю, как это сделать без выгрузки дампа. ПМА вроде не умеет апдейтиь с регулярками.

2. Каким-нить плагином "поиск-замена". Только смотреть что бы он работал непосредственно с базой, а не реплейсил при выводе на морду.

artalex:
В файл functions.php вашей темы вставьте:

А потом удивляться - чего этого сайт тормозить начинает.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
IL
На сайте с 20.04.2007
Offline
435
#3
SeVlad:
ПМА вроде не умеет апдейтиь с регулярками.

это не PMA, это MySQL "не умеет" заменять с регулярками. А вот искать умеет. Решение - поиск в MySQL, Replace - в скрипте с дальнейшим сохранением..

Либо дамп целиком выгружать..

artalex:
В файл functions.php вашей темы вставьте:

Надеюсь, понятно, что это костыль - вместо разовой замены Вы предлагаете заменять КАЖДЫЙ раз при выводе поста. А потом вопросы появляются, почему WP тормозит, сервак грузит и т.д.

Если регулярка правильная - лучше использовать её для разовой замены (см выше).

---------- Post added 01-07-2013 at 14:21 ----------

SeVlad:
А потом удивляться - чего этого сайт тормозить начинает.

Упс.. не видел.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
SeVlad
На сайте с 03.11.2008
Offline
1609
#4
ivan-lev:
это не PMA, это MySQL "не умеет" заменять с регулярками.

Ну MySQL вроде и не обязательно это уметь ;).

Могу ошибаться, но я вижу так-то так: MySQL - это всего лишь хранилище, а ПМА - клиент для работы с ним. Почему-то уверен, что подобная задача как раз для клиента (SELECT-replace-UPDATE = search-replace-export = найти строку - заменить в ней В КЛИЕНТЕ что надо - залить в хранилище).

IL
На сайте с 20.04.2007
Offline
435
#5
SeVlad:
Могу ошибаться, но я вижу так-то так: MySQL - это всего лишь хранилище,

UPDATE  ... SET title = REPLACE(`title`,'B','b') WHERE b=3
- "задача для хранилища".

SELECT .. WHERE `info` REGEXP '[0-9]'
- аналогично..

А вот замену по регулярке "хранилище" делать не умеет :(

SeVlad:
вроде и не обязательно это уметь

да много чего не обязательно.. но удобно ведь. :)

[Удален]
#6

Есть отличный плагин для WP работает напрямую с базой данных, ищет и заменяет. Я забыл точно как называется, что-то вроде "DB Replace", нужно посмотреть на сайте. Только с ним нужно осторожно, так как работает опять же, напрямую в БД.

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
ivan-lev:
- "задача для хранилища".

Так я как бэ потому и говорил не о самой базе, а о клиенте к ней ;)

Сосбсно, не вижу препятствий для "награждения" клиента подобным функционалом. Казалось бы - рядовая задача, но почему-то в ПМА не реализовано. Мб в других клиентах есть - я хз.

Kory
На сайте с 27.11.2006
Offline
297
#8

Уважаемые, всем спасибо за обсуждение, но можно чуть больше конкретики и реальных решений задачи.

SeVlad
На сайте с 03.11.2008
Offline
1609
#9
Kory:
но можно чуть больше конкретики и реальных решений задачи.

А что конкретно не понятно?

И где конкретика в твоей задаче?

IL
На сайте с 20.04.2007
Offline
435
#10
Kory:
но можно чуть больше конкретики и реальных решений задачи.

Если код из поста работает - чем не решение?

Если хочется учесть рекомендации - можно самостоятельно (или силами специалиста) доработать до варианта (выбрать посты - SELECT, заменить в скрипте /preg_replace из того самого поста/, сохранить - UPDATE по ключу)... Можно использовать прямые запросы в базу или API wordpress...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий