Остановить WordPress от резервирования пули для элементов мультимедиа?

Я испытываю какое-то странное поведение, которое, по-видимому, происходит «из коробки» с помощью WordPress.

Если я загружу файл через медиа-менеджер, то вызывается: services.jpg; затем попробуйте создать страницу с постоянной ссылкой http://example.com/services/; Вместо этого используются slug- services-2 , потому что вложение уже использует этот пул.

Посещение http://example.com/services/ загружает страницу вложений.

Я не включил никаких плагинов или добавил что-либо в функции. Php, чтобы изменить перезаписи для вложений.

Кто-нибудь сталкивался с этим раньше? Знать, с чего начать отключать эту функциональность?

Спасибо за ответ всем. Я играл с решением macemmek, и я думаю, что это привело меня к еще лучшему решению:

 add_filter( 'wp_unique_post_slug_is_bad_attachment_slug', '__return_true' ); 

Это все, что нужно. Это автоматически «пропустит» назначенный по умолчанию slug на любом вложении. Таким образом, приложение, которое обычно может получить slug-сервисы, теперь получит slug-services-2.

Вы можете зацепить wp_unique_post_slug () и добавить некоторую строку в исходный пул, если сообщение является типом вложения. Исходный слизень, основанный на заголовке сообщения, останется свободным.

ОБНОВЛЕНО после комментария Рэйчел Бейкер: оригинальный суффикс сундука – это случайная строка. Это не гарантирует уникальность, но может быть достаточно для простых случаев использования.

 add_filter( 'wp_unique_post_slug', 'wpse17916_unique_post_slug', 10, 6 ); function wpse17916_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) { if ( 'attachment' == $post_type ) $slug = $original_slug . uniqid( '-' ); return $slug; } 

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

Но вы можете менять пули после того, как вещи будут загружены / созданы. Хотя вы не должны этого делать, если ссылки известны или опубликованы / указаны в поисковых системах, если вы просто пытаетесь исправить эту проблему из-за загрузки после этого, вы можете отредактировать пул вложения (чтобы быть чем-то вроде services-attachment ), а затем отредактируйте пул страницы для services .

Для этого перейдите в раздел «Медиа», нажмите «Изменить» под вложением, которое вы хотите отредактировать (или, если в виде сетки, щелкните вложение, затем нажмите «Изменить»), затем вверху вы увидите постоянную ссылку. позвольте вам изменить слизню.

Затем повторите тот же процесс для самой страницы.

Я думаю, что вам нужно сделать это, это использовать перенаправление, чтобы люди не видели элементы мультимедиа. Это хорошо подходит для других решений, представленных здесь. Подготовьте что-то к пули медиа-элементов, напишите перенаправление, чтобы «избавиться» от медиа-страниц.