Пользовательские типы сообщений теряются при смене темы?


8

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

Если бы я создал несколько сообщений этого пользовательского типа, а затем переключился бы на тему, у которой нет этого пользовательского типа сообщений, я бы полностью потерял сообщения?

Что если я перейду на другую тему, в которой DID будет иметь тот же пользовательский тип записи (если это возможно), они все еще будут существовать?

Кроме того, как быть с этими же проблемами в связи с пользовательской таксономией? Если я перейду на другую тему, которая не поддерживает пользовательскую таксономию, данные таксономии из пользовательских сообщений будут потеряны (если они даже будут сохранены). Будут ли еще существовать данные для пользовательской таксономии?


1
Сообщения управляются базой данных. Все данные должны быть там. Опыт я изменил темы полдюжины раз. Думайте о теме как о способе просмотра сообщений.
Шон

Если пользовательский тип записи определен внутри самой папки темы, и вы решили деактивировать ее, ваш тип записи будет «скрытым», пока вы не активируете эту тему. Тип записи будет по-прежнему внутри базы данных, хотя, как указано в приведенном выше комментарии.
Howdy_McGee

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

1
Раньше я регистрировал CPT в файлах функций темы, но приступил к их созданию в папке mu-plugins. В случае изменения темы необходимо добавить шаблоны для отображения пользовательских полей, связанных с CPT, но CPT остаются видимыми в области администратора.
Рэй Гулик

Ответы:


9

Вы ничего не теряете. Все ваши пользовательские сообщения, таксономии, термины и их отношения все еще находятся в базе данных. Однако без регистрации эти данные не могут быть доступны, как на странице редактирования WordPress или пользовательских запросах и т.п.


5

Как уже упоминали другие люди, если вы переключите темы в будущем, все данные все еще будут в вашей базе данных, но не будут доступны.

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


4

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

Затем вы можете использовать код с любой родительской темой.

Как указывалось ранее, ничего не теряется, поскольку все это хранится в базе данных, но явно не будет отображаться в бэкэнде WordPress, если вы не используете код с теми же именами CPT и Tax, которые ранее использовались для регистрации их в новой теме.


2

Когда вы изменяете тему и новая тема не имеет того же пользовательского типа сообщения, она не будет отображаться для новой темы. Но вы легко можете получить его обратно, если просто скопируете код из старой темы для пользовательского типа записи и вставите его в файл functions.php новой темы. Данные не будут потеряны.

Может быть другая проблема с отображением пользовательского типа сообщения в новой теме. Но гарантируется, что никакие данные не должны быть потеряны.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.