Мне кажется, что лучший способ сделать это - добавить собственный мета-блок ко всем постам и типам постов (см. Здесь: http://themefoundation.com/wordpress-meta-boxes-guide/).. В этом мета-боксе вы можете просто запросить все посты, которые Вы хотели бы включить его в раскрывающийся список. Затем можно выбрать сообщение из этого раскрывающегося списка, получить идентификатор выбранного сообщения (использовать в качестве атрибута данных в поле параметра) и затем вернуть постоянную ссылку для этого идентификатора. вам просто нужно выбрать пост, а не каждый раз узнавать фактический URL.
Другим способом было бы прикрепить часть уникальных данных к x post (скорее всего, используя пользовательские поля), а затем также прикрепить их к y post. Таким образом, вы можете использовать функцию для автоматического добавления ссылки на отображаемое сообщение. Это можно сделать, запросив записи в базе данных, сопоставив пользовательские данные, и, если они совпадут, отобразит ссылку на этот пост. Это позволило бы автоматизировать все это, и вам даже не пришлось бы ничего выбирать. На мой взгляд, поля заголовка на самом деле должно быть достаточно для этого, так как оба поста имеют разные типы постов (вы должны иметь возможность называть их одинаковыми), и, скорее всего, ваш запрос будет немного проще / короче, так как вам просто потребуется найдите сообщение, соответствующее заголовку, а затем ссылку на постоянную ссылку.
Я могу подробнее остановиться на всем вышеперечисленном, в том числе на примерах кода, но, на мой взгляд, вопрос немного слишком расплывчат, чтобы написать собственный сценарий для этого сценария.
Я надеюсь, что вышесказанного будет достаточно, чтобы вы начали.