n-wp.ru — блог о WordPress
Как избежать пустых заголовков, автоматически создавая их из текста | n-wp.ru

Как избежать пустых заголовков, автоматически создавая их из текста

Способ, помогающий избежать сохранения поста без названия — автоматическое создание названия поста из его содержимого.

Если вы забыли ввести заголовок, то WordPress все равно позволит вам сохранить запись. Сейчас же, при современных форматах записей (например, статус, чат, аудио, видео) и вовсе отпадает надобность в заголовках, а в некоторых темах заголовки таких форматов записей и вовсе не отображаются. Однако если посмотреть RSS, то там такие записи невозможно как-то идентифицировать. Чтобы избежать создания записей без названий, можно внедрить в блог функцию, которая автоматически будет формировать название поста, исходя из его содержимого.

Как избежать пустых заголовков, автоматически создавая их из текста

Для этого откройте файл functions.php и вставьте в него по порядку несколько функций:

Создания заголовка

Ограничение длины заголовка

Исключение шорткодов и разметки HTML и PHP

Сохранение поста с названием

Если вы не ввели название поста, то этот набор функций создаст его из содержимого поста. Предварительно содержимое будет очищено от шорткодов, разметки HTML и PHP, и ограничено определенной длиной. Чтобы было видно, что название поста создано автоматически, в конец его добавляется многоточие. Таким образом в название поста попадет чистый текст, даже если в содержимом поста вы используете картинки и видео. Все эти операции происходят во время сохранения поста, поэтому в базу данных записывается уже чистый заголовок.

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

3 комментария

  • Доброго времени суток! Отличная статья! А есть возможность при публикации записи в название записи писать ID записи? Если да то подскажите как это сделать. Спасибо!

    • Не понятно, зачем посетителям видеть ID поста. Попробуйте изменить последний код на такой:

      Перед названием поста должен появиться его ID. Могу ошибиться, так как я совсем не программист.

      • Доброго! Спасибо за вариант! Он работает, но не совсем так как надо) я тоже тот еще программист) Суть в том что бы в заголовок записи записывался ID записи. В Вашем варианте он записывается но при условии того что есть контент…
        А мне нужно просто что бы был ID без ничего)))
        Вот это я не понимаю как сделать)
        Нужно это для того что бы можно было публиковать записи без заголовка, а wp в новых версиях почему то не разрешает этого делать… Очень прошу Вас помочь! Еще раз спасибо!

/* ]]> */