За последние 24 часа нас посетили 21996 программистов и 1150 роботов. Сейчас ищут 374 программиста ...

Создание Frontend страницы плагины

Тема в разделе "Wordpress", создана пользователем vah-smile, 8 июн 2020.

  1. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Добрый день.
    Сделал маленький плагин, но теперь нужно сделать страницу для него. Как это можно сделать?
    Нужно добавить кастомный URL и при переходе на него - отображать страницу:
    • /some_url - plugin_dir_path( __FILE__ ).'/templates/index.html'
    • /some_url/id - plugin_dir_path( __FILE__ ).'/templates/other.html'
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Сделай их как шаблоны
    В начало надо вставить название:
    PHP:
    1. <?php
    2. /*
    3. Template Name: Мой Супер-шаблон
    4. */
    Потом уже в админке создаешь страницу, придумываешь название, и подключаешь свой шаблон. В списке шаблонов он появится
    https://misha.blog/wordpress/page-templates.html
     
  3. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    немного не то. Я хочу, чтобы плагин был независимый от самой темы и после активации плагина - страница была бы доступной стразу без лишних движений.
    Мне нужно, чтобы при переходе на URL reviews (к примеру, http://example.com/reviews ) - отображалась HTML страница с /wp-content/plugins/reviews/templates/index.html
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Изучайте установку плагинов. Я ее не знаю)
     
  5. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Все. Всем спасибо. Нашел решение:
    Код (Text):
    1. add_action('init', function() {
    2.   $url_path = trim(parse_url(add_query_arg(array()), PHP_URL_PATH), '/');
    3.   if ( $url_path === 'reviews' ) {
    4.      $load = locate_template('template-retail.php', true);
    5.      if ($load) {
    6.         exit(); // just exit if template was found and loaded
    7.      }
    8.   }
    9. });