Друзья, может кто-то все ж знает? Особенно по п.2 не понимаю как это сделать… Еще нет опыта работы с WP, и сразу сложный проект…
Особенно по п.2 не понимаю как это сделать…
Я тоже не понимаю. Не понимаю в чём проблема 🙂 Пост -это и будет страница. Страница сайта в см.
Или Вам что надо? О какой «программе» речь?
и что можно сделать, чтобы ее минимизировать?
Не давать внедрять в контент исполняемый код (яваскрипт в тч) и загружать вложения. Если всё же нужно разрешить загрузку картинок, то желательно их обработать перед публикацией (если будет вирус в картинке — он поломается). Также можно использовать CDN. А если у себя — запретить выполнение пхп в каталоге с картинками.
-
Ответ изменён 7 лет, 8 месяцев назад пользователем SeVlad.
возможность вводить в специальный тип поста определенную техническую информацию (форматированную с помощью шорт-кодов),
Как вариант — Может стоит использовать произвольные поля?
Я тоже не понимаю. Не понимаю в чём проблема 🙂 Пост -это и будет страница. Страница сайта в см.
Или Вам что надо? О какой «программе» речь?
Я обрабатываю введенный пользователем пост (в save_post), и хочу уже в этот момент там получить полный хтмл-код страницы, как она будет выглядеть «после публикации» в браузере. Возможно ли такое? (Даже не обязательно в хуке save_post, но в цепочке обработки вордпрессом апдейта поста, главное, сразу при этом сохранении).
Модератор
Yuri
(@yube)
и хочу уже в этот момент там получить полный хтмл-код страницы
Куда получить?
И зачем?
p.s. Полный вид (html код) страницы записи зависит от других, не связанных с текущим, процессов. Поэтому задача в общем случае не имеет решения.
-
Ответ изменён 7 лет, 8 месяцев назад пользователем Yuri.
хочу уже в этот момент там получить полный хтмл-код страницы, как она будет выглядеть «после публикации» в браузере.
Противоречий не видите?
Вангую Вы хотите получить что-то типа кеша страницы. Это можно сделать только запросив страницу по http. Те совершенно другой процесс. И вот его уже наверное можно запустить хуком save_post (как конкретно я не подскажу)
И присоединюсь к вопросам Юрия — зачем этот огород?
-
Ответ изменён 7 лет, 8 месяцев назад пользователем SeVlad.
Куда получить?
И зачем?
Получить в тот самый скрипт, которым обрабатываю событие сохранения поста (ну или где-то еще, лишь бы в моём php коде, который отработает вместе с апдейтом от пользователя, получить в строку этот хтмл).
Зачем — потому что на самом деле от юзера это не пост для обычной публикации, а технический шаблон, который я потом должен использовать специальным образом (почему это вообще надо делать через вордпресс — потому что пользователи и так в нём в мини-соцсети, и эти технические шаблоны тоже удобнее всего форматировать через редактор вордпресса, кой у них уже есть).
Про несвязанные процессы не понял. Если пост публикуется, разве нельзя получить хтмл код отображающей его страницы прямо в скрипте, без обращения к веб-серверу? А если хотя бы только самого поста, без окружающей страницы, но в окончательном виде?
Если пост публикуется, разве нельзя получить хтмл код отображающей его страницы прямо в скрипте, без обращения к веб-серверу?
Нет. Публикация — это просто запись контента в базу. А страница формируется темой. Она не только отвечает за внешний вид, но может включать и виджеты и меню и даже внешние включения (карты, виджеты соцсетей и тп).
хотите получить аля кеш страницы.
Да. Ну или наиболее близкое к этому. 🙂
потому что на самом деле от юзера это не пост для обычной публикации, а технический шаблон, который я потом должен использовать специальным образом
Есть ощущение, что Вы идетё неправильным путём, но понять задумку не могу..
Но Вы же можете отдельным скриптом генерировать нужные Вам html-файлы, заранее сформировав шаблон и подставляя в него данные из БД. Этот скрипт уже запускать по хуку или крону.
В помощь http://codex.wordpress.org/Class_Reference/wpdb
-
Ответ изменён 7 лет, 8 месяцев назад пользователем SeVlad.
Модератор
Yuri
(@yube)
Про несвязанные процессы не понял.
HTML-код, генерируемый CMS, зависит от состояния «системы» на момент генерации. А на состояние могут влиять действия юзеров и админов, и запланированные задачи, и, если есть, внешние включения. Все эти влияния не зависят друг от друга и могут выполнятся одновременно. Так что снапшот, сделанный в момент сразу после публикации, может значительно отличаться от того, что получит браузер посетителя в любой другой момент.
Максимум, что Вы можете считать более-менее постоянным, это post_content. По крайней мере, в нормальной CMS он не может меняться между сеансами редактирования, т.е. между вызовами хука save_post.
SeVlad и Юрий, спасибо большое, глупость свою понял. Еще плохо знаю, как работает Вордпресс.
Правильно ли я понимаю, что для получения post_content я должен сделать так:
$s=apply_filters(‘the_content’, $post->post_content);
И где его можно вызвать в итоговом виде? Наверно же save_post — еще нельзя?
Модератор
Yuri
(@yube)
Правильно ли я понимаю, что для получения post_content я должен сделать так:
$s=apply_filters(‘the_content’, $post->post_content);
Если точно нужна обработка всех шорткодов, то да.
И не забыть передать в обработчик $post 😉
Наверно же save_post — еще нельзя?
Думаю, можно. Только priority я бы поставил побольше, чтобы успели выполнится «модификаторы», висящие на том же хуке.
И не забыть передать в обработчик $post
Прошу прощения за малообразованность, обработчик $post это что имеется в виду и как сделать в коде?
Думаю, можно. Только priority я бы поставил побольше, чтобы успели выполнится «модификаторы», висящие на том же хуке.
Спасибо!
Модератор
Yuri
(@yube)
обработчик $post это что имеется в виду и как сделать в коде?
передать в обработчик переменную $post 🙂
add_action('save_post', 'my_save_post', 3, 99999);
function my_save_post($post_ID, $post, $update) {
}