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

Мы перестраиваем наш сайт в WordPress и пытаемся найти оптимальное решение для отображения разных представлений одного и того же продукта с уникальными метаданными.

Например, предположим, что свойство является типом post. Мы хотели бы отобразить несколько разных видов ( завершенных (построенных), для продажи и аренды. )

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

  • example.com/ home-built / house1
  • example.com/ home-for-sale / house1
  • example.com/ home-for-rent / house1

Свойство может входить в одно или несколько разных видов – (как для продажи, так и для аренды, например.)

В идеале у нас будет один тип публикации, и представления будут отображать информацию в соответствии с тем, что вы ищете (вместо дублирования контента и любых переводов 3 раза). Я знаю, что это может быть достигнуто с помощью трех отдельных пользовательских типов сообщений, но возможно ли это сделать при одном сохранении отдельных метаданных для каждого представления ?

Чтобы усложнить работу, мы используем WPML для перевода. Это одна из причин, почему предпочтение отдается одному типу сообщений. Будет ли плагин, такой как Yoast, все еще иметь возможность уникальных метаданных Apple для отдельных просмотров ?

Например, предположим, что свойство является типом post. Мы хотели бы отобразить несколько разных видов (завершенных (построенных), для продажи и аренды.)

Конечно. Просто введите таксономии Completed , For Sale and For Rent для типа «Тип собственности ». Изучите класс WP_Rewrite , и вы сможете получить больше контроля над структурой ссылок.

Одним из возможных решений является добавление поля метаданных в ваш пост с указанием статуса (т.е. завершено, для продажи или аренды). Затем в файле шаблона вы вызываете get_post_meta и показываете содержимое в зависимости от состояния. Дополнительным преимуществом такого подхода является то, что вы сможете создавать списки сообщений на основе статуса.

Чтобы добавить метаданные с помощью плагинов, вы можете использовать дополнительные пользовательские поля, чтобы добавить поле «статус» к своим сообщениям. Если вы хотите сделать это программно, я могу порекомендовать отличный видео-учебник Бобби .

Еще одно решение, хотя и менее изящное, было бы использовать почтовые форматы (поиск кода для почтовых форматов). В этом случае вам не нужно будет добавлять настраиваемое поле метаданных. Обратите внимание, что WordPress не позволяет создавать пользовательские форматы сообщений, поэтому вам нужно будет отобразить три из девяти предопределенных трех возможных статусов ваших свойств. Хороший видеоурок от Alessandro показывает, как работать с форматами сообщений. Приняв этот подход, вам необходимо вручную установить формат сообщения в панели управления, чтобы отобразить правильный шаблон (например, в сторону => завершено, галерея => для продажи и ссылка => в аренду).