@RigidStyle

Как задать фиксированную длину post_id (slug) в URL?

Добрый день.
Сейчас на WordPress структура ссылок имеет такой вид /%category%/%post_id%/ , и по дефолту длина post_id 3 цифры. Как сделать что бы post_id был всегда 5 случайных цифр? То-есть что бы URL статьи всегда имел вид типа www.site.com/category/12345. То-есть ограничить минимальную длину слага. Как ограничить максимальную длину нашел кучу информации. А вот о минимальной нигде не упоминается.

UPD:
Гипотеза.
Возможно нужно делать через wp_unique_post_slug() тут о ней которая в свою очередь выдает через переменные слаг поста тут код на сколько я понял.
Соответственно, нужно переназначить эту функцию через function.php, добавив в нее новую переменную, например post_random_slug, которую там же генерировать рандомно (например на основании уже существующей функции wp_generate_password(), той самой, что генерирует пароли в WP, предварительно добавив ей фильтр по символам, что бы только цифры были), а после выполнять проверку, есть ли такой слаг, и если да, то провести генерацию повторно, а если нет, то вернуть в wp_unique_post_slug(), а в самих же "постоянных ссылках" вписать структуру site.ru/%category%/%post_random_slug%/ после того как будет добавлена эта переменная.

Но, к сожалению, моя не программист. Написать сие четверострочье я не в силах...
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Они не будут случайными потому что это порядковый номер поста.

В качестве идиотии можно в базе поменять autoincrement на 9999, и все следующие будут уже 5 значные.
Бессмысленно и беспощадно.

Ну или в роутах использовать slug всегда, набранный руками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы