CKEditor это WYSIWYG-редактор, т. е. «что вижу то и получаю». Этот редактор можно применять, например, в WordPress"е (плагин CKEditor for WordPress), а также в своих собственных скриптах. «На входе» вы работаете в редакторе как, например, бы работали в LibreOffice или в MS Word, а «на выходе» вы получаете HTML-код. Вот так выглядит этот редактор в WordPress"е:
Изначально, CKEditor поставляется в трёх пакетах, разница между ними следующая:
Т.е. эти пакеты содержат различный функционал (Basic и Standard - усечённый функционал). Но даже пакет Full может быть дополнен дополнительными, очень полезными плагинами, именно о них я сейчас и расскажу. Для своих целей подобрать нужный набор плагинов можно на очень удобной
Скрыто от гостей
(для WordPress"а плагины можно добавить в Панеле управления сайтом, в разделе «Плагины», выбрать «Добавить новый»).
1. Base64 Image
Скрыто от гостей
Каждый, кто оформлял сообщения на форуме, в блоге, в WordPress"е или в самописной CMS, знает, что картинки нужно сначала загрузить на сервер, чтобы иметь возможность вставить их в свой пост. Если вы пишите свою CMS и используете CKEditor, то вам отдельно нужно написать скрипты, которые будут загружать ваши картинки на сервер. Плагин Base64 Image всё меняет, теперь нет необходимости это делать - просто добавляйте ваши картинки, которые будут переведены в строки base64 и сохранены среди HTML-кода. Также можно добавлять внешние ссылки. Выбираем для загрузки файл:
Если перейти к просмотру HTML-кода, то можно увидеть следующее:
2. Spoiler
Скрыто от гостей
Позволяет добавить спойлер, который будет скрывать текст.
3. Word Count & Char Count Plugin
Скрыто от гостей
Этот плагин считает слова и символы, которые вы написали в редакторе. Может быть полезным, когда нужно уложиться в определённое количество символов, или когда нужно написать статью состоящую из заданного количества слов.
4. Media (oEmbed) Plugin
Скрыто от гостей
Чтобы вставить, например, видео, приходится лезть в исходный HTML-код, искать там нужное место и уже там вставлять. Этот плагин позволяет значительно упростить процесс вставки видео, фото, аудио и прочего. Поддерживает просто какое-то невероятное количество разнообразных сайтов. Зайдите на оф. сайт, вас поразит разнообразие поддерживаемых источников.
5. Code Snippet
Скрыто от гостей
Позволяет вставлять исходный код в ваше сообщение, который будет иметь подсветку синтаксиса - очень много вариантов подсветки. Удобно и красиво.
Для этого плагина есть достойные альтернативы
Скрыто от гостей
,Скрыто от гостей
.6. Font Awesome
Скрыто от гостей
Содержит огромное количество картинок (пиктограмм), которые можно вставить в текст, при этом возможно выбрать любой цвет.
7. Insert Symbol
Скрыто от гостей
Позволяет вставить специальные символы в текст. Содержит очень большое количество специальных символов, разбитых на группы. Пользоваться легко и удобно.
8. Keep TextSelection
Скрыто от гостей
Плагин который меня потряс! Довольно часто возникает желание посмотреть или исправить HTML-код. Что для этого мы делаем? Мы переключаемся в режим исходного кода и долго ищем нужное нам место. Этот потрясающий плагин здорово облегчает жизнь: в режиме WYSIWYG мы выделяем нужный нам фрагмент, переключаемся в режим исходного кода и сразу попадаем в нужное нам место - причем исхоодный код также выделен:
9. BBCode Output Format
Скрыто от гостей
Как упростить оформление сообщений на форумах, на торрент-трекерах, на сайтах, где нет WYSIWYG режима, а есть только BBCode? Для этого есть очень изящное решение, благодаря плагину BBCode Output Format мы можем оформлять наше сообщение в CKEditor и с лёгкостью переносить полученный BBCode на форум или торрент-трекер.
Кстати, ведь популярный сайт создаёт значительную нагрузку на хостинг. Важно, чтобы ваш хостер обеспечивал устойчивую работу в любых ситуациях, чтобы сайт не «лежал» от отключений электричества в дата центре, частом смене программного обеспечения, частых DdoS-атаках или просто от нагрузок сайтов и т.д. Ведь пользователям это быстро надоест и они уйдут на сайт-конкурент. Я перебрал довольно много решений и нашёл очень хороший вариант - 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен - 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это
Скрыто от гостей
.Посмотрите, я уверен, это предложение заинтересует любого администратора сайта (хоть начинающего, хоть продвинутого), поскольку это хостинг с настоящим качеством от профессионалов. Кстати, у меня есть
Скрыто от гостей
Дающий бесплатный месяц (в дополнении к 2 неделям, которые и так даются всем), если хотите, можете воспользоваться.
Хотите узнать, ? или ? Всё это и многое другое на сайте . Подписывайтесь на нашу e-mail рассылку (внизу страницы) или на и вы узнаете первым о новых статьях! Также вступайте в нашу
Приветствуют, друзья. Сегодня мы с вами разберемся в том, как заставить работать любой PHP код в виджетах, статьях и на страницах WordPress. По умолчанию такая функция в этой CMS недоступна и максимум, на что может рассчитывать пользователь – это внедрение HTML кода.
Почему PHP код не работает по-умолчаниюКазалось бы, почему разработчики не наградили столь популярный и удобный движок полезными возможностями по автоматическому исполнению PHP кода. Поначалу я задумывался об этом, но пришел к выводу, что такая политика ведется с позиции безопасности, ведь, неумелое применение PHP в виджетах или внутри записей может привести к непоправимым последствиям – в базе данных что-нибудь нарушится и весь сайт крякнет.
Поэтому, работа с PHP отдана на откуп программистов или людей более менее продвинутых в этом вопросе – непосредственно в файлах любые скрипты исполняются.
Для публичных сайтов (там, где несколько авторов) исполнение PHP в теле статьи повышается риск умышленного саботажа, так как любой автор может получить полный доступ к сайту через окно редактирования статей.
По степени опасности я бы разделил всю эту ситуацию на 3 уровня:
Вопрос индивидуальный, так как реализовать с помощью этого языка программирования можно все что угодно. Лично меня к написанию этого поста подтолкнул заказ клиента, сайт которого я сейчас делаю. На нем необходимо было вывести в сайдбаре в отдельном виджете список новостей из одной рубрики – «Новости». В стандартных виджетах WordPress нет такой возможности.
Вопрос стоял между поиском плагина с соответствующими возможностями или применением несложного PHP кода. Скрипт для такой задачи, действительно, небольшой и нагружать сайт лишним плагином, который больше нигде использоваться не будет, не хотелось.
В целом, разрешая исполнение PHP, мы можем решить 2 задачи:
- Заменить часть плагинов сайта на скрипты и снизить таким способом нагрузку на хостинг;
- Реализовать функции, для которых плагинов пока не существует.
На первом этапе я расскажу о виджетах, а потом, отдельным блоком про вывод кода в контенте.
Плагины для PHP в виджетахПреимущество плагинов: При смене темы оформления WordPress не нарушается работа функций добавленных в шаблон, все продолжает работать не требуя вмешательства вебмастера. Хуки добавленные в шаблон при смене темы придется переносить на новую вручную.
В моем примере выше, я делаю сайт для клиента и, если он захочет самостоятельно сменить дизайн, то пропадут настройки, которые сделаны через файлы functions.php и др., поэтому я максимально упрощаю ему управление сайтом, опираясь на плагины (тем более, в его нише трафик невелик и нагрузки много не будет).
PHP Code WidgetЭтот плагин я давно использую в своей работе, он добавляет в список доступных виджет, похожий на обычный текстовый, только способный обрабатывать кроме текста и HTML еще и PHP.
PHP Code Widget присутствует в официальном репозитарии WordPress, легко находится по названию. Как устанавливать такие плагины .
Настроек не требуется, виджет в списке появится сразу после установки и активации плагина. В сайдбар перетаскиваете «PHP Code» и добавляете туда любой скрипт.
PHP в виджете WordPress без плагинаВ этом случае нам потребуется хук, который будет подменять стандартную функцию, обеспечивающую работу текстового WordPress виджета, функцией разрешающей обрабатывать PHP.
Такой хук добавляется в файл functions.php текущей темы (в самом конце перед закрывающей скобкой?>). После этого, новых вариантов виджета, как в случае с плагином, не появляется, PHP коды начинают работать в стандартном текстовом.
Готовый код:
Add_filter("widget_text"," text_html_php_widget ",100); function text_html_php_widget($text) { if(strpos($text,"".$text); $text = ob_get_contents(); ob_end_clean(); } return $text; }
Первая строка является фильтром, который заменяет при каждом вызове стандартную функцию текстового виджета на новую – text_html_php_widget, а далее идет описание самой новой функции.
Зачем PHP код в статьях и постах WordPressВнутри записей исполняемый PHP код требуется значительно реже, чем в виджетах, поэтому в первой части статьи я отдельно рассматривал сайдбар, чтобы вы могли не подключать потенциально опасные функции без необходимости.
Но и в постах бывает потребность использования скриптов. Самый частый пример – это вывод карты сайта без плагина. Правда, для карты можно использовать другой приём – сделать специальный шаблон страницы (это отдельная тема).
Мне однажды понадобилось выводить PHP для следующей цели:
Делал я видео сайт. Серии сериала выводились в плейлистах по сезонам и надо было под каждым плейлистом сезона вывести список серий со ссылкой на свою страницу. Похоже на карту сайта, только сложнее – вывод делать надо было списками отдельных рубрик. Можно было вручную HTML кодом каждую ссылку прописать, но там несколько сот серий и процедура муторная. Тем более, при появлении новой серии ссылку на нее пришлось бы добавлять вручную – неудобно. Вот я и решил использовать PHP функции для реализации.
Плагин для исполнения PHP в контенте Exec-PHPНесмотря на то, что этот плагин не обновлялся уже 7 лет, он прекрасно справляется с обязанностями. И я его выбрал не просто так – он не использует никаких шорткодов, как конкуренты, а дает возможность вставлять в записи WordPress код в чистом виде, начиная с .
Плагин Exec-PHP есть в репозитарии и устанавливается через меню в админке движка.
Из настроек есть только одна – разрешение/запрет на исполнение кода в текстовом виджете, возможности отключить работу в постах и на страницах отсутствует, если надо ее убрать – деактивируем плагин.
Для вставки PHP кода в статью, должен быть переведен в HTML режим (вкладка «Текст»). Визуальный режим, скорее всего, код попортит.
Выполнение PHP кода в статьях WordPress без плагинаПо аналогии с виджетами, мы можем заменить плагин на специальную функцию, разрешающую выполнение PHP скриптов в контенте. К сожалению, мне не удалось найти вариант, при котором код работал бы автоматически как в случае с плагином, реагируя на теги. Требуется использование шорткода. Моих познаний в PHP не хватило для самостоятельного написания нужной функции, за сим привожу как есть. Работа с шорткодом имеет существенный недостаток, осложняющий работу, о нем я расскажу ниже.
Как работать с описанной ниже функцией
Функция:
/* Запуск php в статьях и страницах WordPress: код */ function start_php($matches){ eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output; } function inline_php($content){ $content = preg_replace_callback("/\((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace("/\((.|\n)*?)\[\/startphp\]/", "$1", $content); return $content; } add_filter("the_content", "inline_php");
НедостатокЕсли внутри вставляемого PHP кода есть HTML вставки или текст, то он работать не будет. Любой текст или теги придется вставлять с помощью команды echo, что не всегда удобно. То есть, код должен быть чисто PHP-шный на 100 правильного формата.
Правильно
Echo "Так работать будет";
Неправильно
Echo "Эта строка правильная"; Так работать не будет
В плагине Exec-PHP такой заморочки нет – и текст и HTML исполнятся, но все элементы PHP кода должны быть обрамлены в соответствующие теги.
Для многих вебмастеров тема, описанная в этой статье открывает бесконечные возможности для творчества – можно реализовать то, чего раньше сделать не получалось, а также избавиться от массы плагинов, заменив их на разные фильтры, функции и хуки.
Практически каждый, кто ведет блог на WordPress и самостоятельно занимается его обслуживанием, знает о существовании волшебного файла functions.php. Часто его применяют абсолютно не по назначению, что может привести к существенным проблемам. Давайте вместе более детально разберемся с этим вопросом.
Уверяю, прочитав эту статью, Вы измените свое отношение к плагинам и перестанете пополнять ваш functions.php очередным сниппетом кода.
Плагины и functions.phpМногие владельцы сайтов на WordPress твердо убеждены, что плагины непременно будут нагружать и тормозить блог. А если просто добавить код в functions.php, то это никак не повлияет на нагрузку. Увы, это не совсем так…
Дело в том, что нагрузку вызывает не конкретно плагин, а его неверно написанный код, который, легко может попасть и в functions.php из очередного руководства.
Давайте посмотрим в чем главные отличия плагина и functions.php.
Принципиальное отличие плагина от файла functions.php — в назначении и порядке выполнения.
Также необоснованно мнение, что код в functions.php выполнится быстрее, чем в плагине. Один и тот-же код в плагине и в functions.php выполнится с одинаковой скоростью и нагрузкой.
Очень часто проблемы c высокой нагрузкой возникают из-за дополнительного функционала плагинов, а скорость загрузки сайта страдает от подключения скриптами своих стилей, скриптов и другого контента. Поэтому важного уделить внимание выбору плагина, дабы избежать проблем в будущем.
Если Вы обычный блоггер и далеки от веб-разработки, то при выборе плагина обязательно обращайте внимание на отзывы в репозитории WordPress и на блогах авторов или веб-разработчиков.
Если все еще остались сомнения — сделайте чашечку кофе и обязательно прочтите статью Константина Ковшенина на WP Magazine — «Вся правда о functions.php ». В первой части просто и доступно рассказывается почему не стоит верить в мифы о functions.php.
Плагин как альтернатива файлу functions.phpВсе дополнения, которые Вы вносите в файлы шаблона (скрипты, счетчики, функции) могут быть утеряны при смене активной темы или применении обновлений для нее. Чтобы избежать этого и не создавать хаос в functions.php, предлагаю Вам воспользоваться своим личным плагином.
Давайте создадим свой плагин — альтернативу файлу functions.php. Не стоит пугаться, он будет выглядеть один в один как любимый functions.php 🙂 . Все, что потребуется — просто добавить пустой плагин на свой сайт. И затем в него можно вставлять необходимый код, как раньше делали это c functions.php.
Прежде всего нам нужно создать на компьютере файл с названием functionsphp.php и добавить в него следующий код:
// ... Вместо этой строки вставляем код счётчиков...