Изображение все еще связано как вложение со страницей, даже если оно было удалено
Я работаю над функцией галереи изображений, в которой я беру изображения, прикрепленные к страницам, и отображаю их в разных местах с помощью функции get_posts()
. Тем не менее, я обнаружил, что когда я удаляю изображения со страницы, на которой они были размещены, они все еще кажутся установленными в качестве вложений. Мне просто интересно, есть ли что-то, что я неправильно понимаю в привязанностях, или это неправильное поведение?
Возможно, мне стоит добавить, что я получаю изображения как вложения страниц, потому что мне нужно иметь возможность классифицировать изображения и отображать их по категориям в разных местах сайта. Если бы я мог классифицировать изображения напрямую, я понимаю, что мне не нужно было бы беспокоиться об этой проблеме, с которой я сталкиваюсь!
3 answers
Удаление изображения из сообщения или страницы - это запутанный процесс. Когда вы загружаете изображение на публикацию/страницу, оно добавляется в галерею этой публикации/страницы. Затем вы можете вставить изображение в содержимое поста/страницы и отредактировать содержимое по своему усмотрению. Когда вы нажмете на изображение в редакторе wysiwyg, вы увидите два значка - один для редактирования настроек изображения и один для удаления его из редактора - этот второй значок не делает удалите изображение, даже если оно выглядит как типичный значок "удалить".
Когда вы нажимаете кнопку "удалить", изображение удаляется из визуального редактора , но сохраняется в галерее публикации/страницы.
Чтобы на самом деле удалить/удалить изображение, вам нужно сделать следующее
- Нажмите кнопку "Добавить изображение", чтобы просмотреть экран изображения
- Перейдите на вкладку "Галерея", чтобы просмотреть, какие изображения в настоящее время прикреплены к сообщению
- Нажмите на ссылку "Показать" для нужного изображения удалено.
- Нажмите "Удалить" в нижней части экрана сведений об изображении
Вам будет предложено подтвердить удаление, после чего изображение будет отсоединено от поста/страницы и полностью удалено из WordPress.
Я никогда не играл с этим, но вы можете прикреплять таксономии к вложениям (встроенным или пользовательским) следующим образом:
register_taxonomy_for_object_type( 'category', 'attachment' );
Подключите это к 'init'
, чтобы иметь возможность классифицировать вложения в соответствии с категорией.
Я не знаю, как вы "удаляете" изображение, но если вы удаляете его из WordPress, оно больше не должно быть установлено в качестве вложения для этой страницы. Другой способ отменить установку изображения в качестве вложения - зайти в базу данных и удалить идентификатор страницы из столбец вложения 'post_parent'
.
Вы также можете заглянуть в плагин Галерея файлов . Это делает намного больше, чем вам может быть интересно, но позволяет отсоединять изображения от сообщений.
Просто смутное предположение, но, возможно, вы получаете вложения от всех редакций/статусов страниц? Если вы ограничите вызов get_posts()
только опубликованными публикациями/страницами, вы можете увидеть, что изображение, о котором идет речь, исчезнет.