URL страницы плагина на фронте типа http://example.ru/plugin-exapmle/
Суть вопроса, как сделать на front части сайта страницу плагина, не используя файлы темы.
Пример. есть сайта http://example.ru и страница плагина, /plugin-exapmle/. При переходе на http://example.ru/plugin-exapmle/ будет обработан скрипт в файлах плагина.
Думаю может как-то можно решить это каким-то filter или action но не уверен.
Главное условие полностью независимость от темы.
Может можно как-то с использованием add_menu_page с правами для read. Но как-то не очень представляю как.
Желательно, чтобы не нужно было создавать страницы, посты, типы постов и тд.
Долго пытался найти в ответах, но не вышло.
Подытожим вопрос. Вы хотите отобразить контент, генерируемый вашим плагином, по некоему адресу со всем оформлением, что даёт текущая тема. Верно? Или внешний вид текущий темы не нужен?
Примерно так, можно взять из темы, допустим базовый шаблон страницы, и в него поместить контент плагина по адресу. Вероятно можно повесить на the_content() get_the_content()
Если бы это было возможно, то тот же WooCommerce поступал именно так. Но ему приходится при активации создавать нужные страницы и вставлять туда свои шоткоды. Это позволяет решать задачу и нет ничего зазорного так делать - это достаточно надёжный способ.
Окей, спасибо за ответ, есть тогда вопрос, у woo есть приятна вещь, уведомления о том, что нужно создать страничку и внести шорткоды или запустить установку, можете подкинуть статью или документацию о таких уведомлениях. Буду очень благодарен!
Я не изучал, как это сделано в WC. Скорее всего проверяется наличие нужной страницы (возможно по slug или по какой-то мета) и с помощью admin_notices выводится предупреждение.
Создавть шорткод в плагине. Создать страницу. Вставить шорткод в поле контента.
Можно как woocommerce создавать страницу с контентом при установке плагина.
Желательно, чтобы не нужно было создавать страницы, посты, типы постов и тд.
Задача из коробки получить страницу без создания чего либо. Шорткоды будут, но как отдельный вариант ( планируется реализация через несколько методов )
Копаясь на stackoverflow нашел вот такую статью, но она не очень сильно помогла, так как нам все ещё нужно создать страницу в админке.
Можешь попробовать создать конечную точку для главной страницы с помощью: add_rewrite_endpoint(), см. второй пример. В этом случае не нужно будет создавать никаких страниц, однако нужно будет решить проблему шаблона страницы, а точнее проблему интеграции контента страницы плагина в текущую тему...