Я надеюсь, что этот вопрос имеет свое место здесь.
Я всегда думал, что объединение различных пользовательских типов постов - довольно распространенная потребность, как в популярных примерах использования пользовательских таксономий (книги / авторы / названия, фильмы / актеры / режиссеры и т. Д.). Я лично пользуюсь "Posts 2 Posts", но поддержка прекратилась.
В Google наиболее релевантные результаты указывают на этот плагин прямо сейчас. Какие долгосрочные альтернативы существуют? Что бы использовал опытный веб-разработчик WordPress для разработки системы управления книгами / авторами / названиями с помощью WordPress сегодня, если плагин P2P будет готов?
custom-post-types
drake035
источник
источник
If you want to help maintain the plugin, fork it on github and open pull requests.
Ответы:
Как программист, я бы начал писать свой собственный код, чтобы связать свои типы постов. Это не быстрый способ, это не легко, но это очень весело.
Типы сообщений
Мы начнем с создания двух типов просто пост,
Author
аBooks
:Ничего особенного там нет. На самом деле это из Кодекса !
Метабокс
Давайте продолжим, добавив метабокс для нашего автора к нашему типу поста в книге:
Здесь вы можете увидеть функцию обратного вызова,
p2p2_book_author_metabox
которая будет внутри нашего метабокса.Содержание метабокса
Давайте создадим функцию:
Вот где происходит волшебство. Сначала мы собираемся запросить базу данных для авторов, а затем мы заполняем
<select>
наши результаты запроса. Проверьте Кодекс для получения дополнительной информацииWP_Query
. Теперь вы можете перейти к типу записи в своей книге и увидеть выпадающий список:Сохранение нашего контента
Конечно, мы хотим сохранить наш выбор, поэтому мы добавим еще одну функцию, которая сохранит метабокс для нас:
Теперь иди и сохранить книгу с автором! Автор книги будет сохранен в
wp_postmeta
таблице базы данных, а выбранное значение раскрывающегося списка будет таким же, как в мета.Авторская колонка для книги
Давайте расширим область администратора для наших книг. Начнем с изменения столбцов:
Эта функция гарантирует, что мы видим только заголовки столбцов и p2p2_author. Столбец флажка cb необходим для функциональности массового редактирования WordPress. Теперь нам нужно добавить некоторую информацию в нашу колонку. Добавляем эту функцию:
Переключатель для каждого столбца, который вы только что добавили в предыдущей функции. Вы заполняете это, повторяя то, что вы хотите показать. Мы получаем сообщение, являющееся автором нашей книги, и создаем приятную постоянную ссылку на его / ее "страницу профиля". Вот как это выглядит:
Продолжение следует
Мы связали два типа записей в бэкэнде нашего сайта WordPress, но мы не видим ничего подобного в веб-интерфейсе. Для этого потребуется гораздо больше работы, но возможности несколько безграничны. Мы могли бы:
Я буду продолжать работать над этим ответом, так как мне нужно это решение самостоятельно. Тем не менее, я перестану работать на сейчас. Я начну обновлять этот ответ завтра.
источник
Я бы не стал сильно беспокоиться об этом, так как несколько замечательных разработчиков вызвались продолжить поддержку . Однако, если вы хотите использовать что-то еще, проверьте поле отношения ACF .
источник
Поскольку первоначальный вопрос «Что бы вы сделали, если бы P2P ушел?» У меня есть мысль / предложение. Я действительно нуждался в этом, потому что, если вы создаете плагин, указание пользователям установить другой плагин не всегда жизнеспособно.
Одним из простых способов было бы использовать Post Meta. Например. В post_meta автора вы можете хранить книги. Либо в виде уникальных записей, либо отдельной записи, разделенной запятыми, либо сериализованного массива. Затем в книге вы храните обратную информацию об авторе (авторах).
Другой вариант - добавить новую таблицу БД (нахмурившуюся), в которой хранятся отношения и другая соответствующая информация.
Не знаю, насколько эффективно любое решение в масштабе, но они работают.
источник