Я добавил несколько отличий custom_post_types
в свою установку WordPress 3. Все они немного отличаются друг от друга и должны хранить уникальную информацию в формате custom_fields
. Но в то время как один может хранить product_id
, другой — нет. У одного будет, source_url
а у другого нет. Вместо того, чтобы указывать моим редакторам, какие настраиваемые поля следует использовать с какими настраиваемыми сообщениями, как я могу сделать так, чтобы каждое настраиваемое сообщение включало свои настраиваемые поля как часть самого пользовательского интерфейса?
Если вы посетите «daily_cartoon», у вас будет экран, который запрашивает только заголовок, заголовок и медиа.
Если вы посетите «daily_product», у вас будет экран, который запрашивает только заголовок, цену, сводку и т. д.
@Jonathan Sampson : я работаю все выходные над пакетом, чтобы решить эту проблему (я работаю над этим больше месяца). Но у меня крайний срок во вторник, поэтому в эти выходные я не буду отвечать на вопросы StackExchange. Если это все еще не решено позже на следующей неделе, я обязательно рассмотрю это.
@MikeSchinkel На самом деле я все еще работаю над проектом, поэтому, если вы уже закончили свой инструмент, я был бы более чем счастлив попробовать его и поделиться своим опытом.
Привет @Jonathan Sampson : я еще не готов опубликовать его, но я могу работать с вами в частном порядке в качестве моего первого бета-тестера, если хотите. Свяжитесь со мной по электронной почте, мой адрес электронной почты находится на моей странице профиля пользователя: wordpress.stackexchange.com/users/89/mikeschinkel
Я отмечу этот вопрос как любимый и буду ждать вашего решения 😉
@silent : Круто!
Привет @Джонатан Сэмпсон :
Существует несколько плагинов, упрощающих создание пользовательских типов записей, а некоторые также позволяют определять настраиваемые поля в произвольном порядке:
Как я упоминал выше, я работал над тем, который не предоставляет пользовательский интерфейс, подобный этому, вместо этого расширяемый API для сложных типов полей (и простых тоже). Но, потратив час на попытки упаковать его, я понял, что он не готов для раздачи еще. Может быть, через несколько недель.
Эти плагины, перечисленные выше, должны удовлетворить ваши основные потребности на данный момент, и я постараюсь сделать свой совместимым с данными, хранящимися во всех них в будущем, если вы решите использовать мой в будущем.
Вам также может помочь этот пост:
вы можете добавить мета_боксы, чтобы в них хранились данные настраиваемых полей. поскольку add_meta_box может быть установлен в соответствии с post_type, это позволит вам добавлять разные meta_box к разным типам сообщений.
посмотрите на этот пост для полного примера изменения пользовательского типа поста нового/редактирования экрана.
Недавно мне нужно было решить очень похожую проблему при работе с темой. Основа кода была взята из этого поста, и я изменил часть кода.
Ниже приведена первая часть кода, который я изменил.
Ниже приведена вторая часть кода, который я изменил.
Если хотите, отправьте мне сообщение, и я с удовольствием вышлю вам файл functions.php для ознакомления. Это определенно способ добиться этого, поскольку я провел много ночей, таская за волосы себя.