Как сделать так, чтобы ссылка предварительного просмотра в сообщении или странице WordPress указывала на другое место?

В последнее время я реализовал множество небольших проектов на стороне, где клиент хочет, чтобы хорошая часть веб-сайта оставалась прежней, они просто хотят иметь возможность редактировать определенные «области» сайта. А именно какой-то текст где-то в каком-то поле.

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

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

У меня есть конкретное содержимое страницы, отображаемое на странице, используя такой код

<?php echo apply_filters('the_content', $page_Contact->post_content); ?>

где $page_Contact - переменная, определенная в другом месте.

Однако функция «Предварительный просмотр» или «Просмотр страницы» / «Просмотр сообщения» на каждой странице / публикации переходит в логическое расположение WordPress, и это не тот эффект, который я хочу в данном случае.

Так, например, у меня есть такие страницы

www.site.com/index.php
www.site.com/about.php
www.site.com/contact.php

И так далее.

WordPress хочет, чтобы ссылки «Просмотр страницы» и «Предварительный просмотр изменений» переходили в такие места, как

www.site.com/?page_id=2
www.site.com/?page_id=8&preview=true&preview_id=8&preview_nonce=45522671f5

Это проблема, потому что в приведенной выше структуре постоянных ссылок оба они переходят на страницу index.php, которая, за исключением страницы, которую я использую для структурирования index.php, находится не там, где я хочу, чтобы пользователь / редактор переходил. И ни один из вышеперечисленных случаев не допускает какого-либо предварительного просмотра (это уступка, на которую я готов пойти, учитывая, как я это делаю).

Есть ли способ ( желательно использовать плагин) для настройки WordPress таким образом, чтобы предварительный просмотр страницы на панели управления переходил к предварительному просмотру страницы, отличной от index.php, где будет размещаться контент? Так, например, ссылка на страницу «Контакты» на панели управления WordPress идет contact.php вместо ?page_id=2 ? Это сделка, когда я пытаюсь сделать это в интерфейсе редактирования, и меня не беспокоят ссылки на самом сайте.

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

Ответов (2)

Решение

Взгляните на preview_post_link крючок в WordPress - он должен вызываться при создании этой ссылки, и вы можете использовать его в сочетании с настраиваемым полем (или некоторой логикой), чтобы создать любую ссылку предварительного просмотра, которая вам нравится.

Рассматривали ли вы ссылки на страницы для плагина для wordpress? Также меняются постоянные ссылки?