Я использую пользовательские посты, и в них мне не нужен заголовок.
Это приводит к тому, что Wordpress устанавливает заголовки моих сообщений на «Авто черновик».
Я хотел бы изменить значение заголовка на другое, вычисленное из других полей в моем сообщении.
Как мне сделать это, используя save_post или каким-либо другим способом?
custom-post-types
save-post
Цахи Левент-Леви
источник
источник
register_post_type()
звонок.Ответы:
Этот самый простой способ - редактировать данные в той точке, в которую они вставлены, а не обновлять их впоследствии, используя
wp_insert_post_data
вместоsave_post
. Это работает при создании нового сообщения или обновлении существующего сообщения без изменений. Это также избегает опасности создания бесконечного цикла, вызываяupdate_post
внутриsave_post
.источник
У меня была точно такая же потребность, поэтому я написал эту функцию - которая работает. Измените его в соответствии с вашими потребностями. Надеюсь это поможет.
источник
Попробуйте фильтр default_title :
источник
$post
? Пожалуйста, прочитайте первоначальный вопрос и комментарии ниже. Автоматически сгенерированный заголовок сообщения не запрашивается. Необходим только поддельный заголовок сообщения (замена WordPress "Auto Draft").Вот решение, которое использует статическую переменную для предотвращения бесконечного цикла. Это позволяет вам безопасно вызывать
wp_update_post()
внутри функции, к которой подключенsave_post
.Примечание. Чтобы ограничить эту функцию определенным типом записей , используйте хеш save_post _ {$ post-> post_type} вместо save_post.
источник