n-wp.ru — блог о WordPress

Как сделать статическую страницу?

Вопрос такой, как создать статическую страницу, но программно что она не была типом материала «Страницы сайта» чтоб там например страницу регистрации создать, есть подобные плагины, но они в основном работают через шерткоды , мне даже не плагины интересны а сама функция что то типа add_theme_page() нужно только чтоб для пользовательской части сайта а не админки, подскажите плиз

11 комментариев

  • Не совсем понятен вопрос. WordPress — это система для управления сайтом на основе PHP. Для создания в ней статической страницы есть специальный функционал: Страницы — Добавить новую. У такой страницы есть своя ссылка, есть все возможности для редактирования, управления. Чем этот функционал не устраивает?

    Не хотите создавать страницу средствами WordPress? Тогда просто создайте в любом редакторе HTML-файл, и добавьте ссылку на него в карту сайта.

  • Да нет я скажу зачем, знаю я не что страницу создать можно , но такая возможность не нужна как раз )) есть например задача сделать страницу регистрации или альтернативную страницу логина или просто страницу приветствия чтоб там была форма с нужными полями минималистичный html и стили, короче не хочу чтоб эту страницу можно было из админки как то перебить, можно конечно её в админке просто скрыть, но было бы круто чтобы создать страницу программно как например в друпал hook_menu это делает

    тупо создается url site.ru/hello_world с title test и на которой будет написано test-content и все собственно, нужен плагин, просто включаешь появляется страница hello_world не нужен выключаешь, страница исчезает,никакие записи в базе не создаются (почти), файл тоже создавать не нужно. Вот интересует можно ли подобное в вордпрессе сделать?

    • Все равно не понял, что вы хотите. Зачем плагин, когда в движке уже есть такая возможность? Публикуешь страницу — она появляется, переносишь в черновики — она исчезает. И без всяких плагинов. Ну а вид странице можно придать какой угодно, если задать ей шаблон. Так что я не понимаю, зачем вы велосипед изобретаете, когда уже готовый стоит в гараже?

  • хорошо, опустим вопрос зачем это нужно, но была старая версия плагина buddypress и там как минимум страницы register/ ,activity/ и members/ именно таким образом как я описал создавались, ну это же круто было ещё одна фитча

  • Я понимаю, что 3 года прошло, но я тоже задался таким вопросом, как автор поста. Поэтому поделюсь своим опытом, вдруг кому-нибудь поможет.
    Видимо такой вопрос «Как программно создать страницу в вордпресс» возникает у друпалистов.
    Я плотно работал с друпалом, а сейчас осваиваю вордпресс.
    Попробую пояснить что имел ввиду автор поста.
    Задача, создать свой модуль (плагин), который при установке создает в системе страницу, а точнее резервирует URL, например /checkout. При обращении пользователем по этому URL должна отработать определенная функция плагина, например вывести форму для оформления заказа. В друпале для этого есть hook_menu.
    Насколько я понял в вордпрессе просто другая логика, т.е. все строиться на шорткодах.
    Но создать страницу можно командой «wp_insert_post», повесить ее на какой-нибудь хук, а в содержимое страницы положить нужный шорткод.
    Было бы неплохо услышать вариант профессионалов, т.к. я еще только стою у порога вордпресс :)

  • если бы вопрос был только в подмене котента , заголовка или еще чего то это пол беды можно как то так сделать

    ну или похожим образом, но мне же нужен был , даже не знаю что — какой то стейт в url, не зависимы от страниц или еще чего-то, ну грубо говоря, чтоб можно было что душе угодно вывести.

    Я конечно тоже уже не помню , но вроде идея три года назад в этом была.

    Ну это короче все совсем не как в друпале , даже в тех примерах что я выше написал , как минимум нужно flush_rewrite_rules() вызывать, короче архитектура другая немного, от части я то что я хотел сделать можно наверное через тот wp rest api сделать будет, когда он наконец появится, либо хуком в wp-admin/admin-ajax.php?action=xxx все что угодно вставить хоть джейсон.

  • черт бы с ним что с , хотя его все же порезало потому что я точно помню что закрыл , проблема в том что в о втором фрейме полностью стерло весь html который и это скорее всего не проблема закрытых тегов , а просто отфильтровало как недопустимый код

    • Вы закрыли тег pre два раза. Движок обработал код правильно — закрыл программный код там, где он завершался первый раз, все остальное посчитал простым текстом, вырезав из него недопустимый код.

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

      Повторите код с примером применения (не функций, а их использования) — он не опубликовался.

  • 1) ну там вобщем ничего интересного особо не было, думаю так все понятно .
    2) за мат то , тоже ничего не скажу, можете порезать .
    P.S. за три года сайт сильно изменился и мне кажется раньше красивее было , да и как то более уютно , плюс цвета какие то ядовиты , это к слову про то что n-wp не тот