Обработка шорткодов WordPress
Иногда требуется в PHP-коде в WordPress отоброзить содержание некоторого шорткода. Для этого существует встроенная функция
do_shortcode()
Она просматривает текст на наличие в нём зарегистрированных шорткодов и обрабатывает их.
WordPress вставить php код на страницу без плагинов
Есть несколько способов добавить PHP-код на страницу WordPress. Среди них: установить плагин позволяющий это делать, редактировать functions.php и включить поддержку [exec]…[/exec], может быть ещё что-то. Но сегодня я расскажу как сделал я. Недостатки установки плагина: возможная уязвимость, возможные проблемы с совместимости при обновлении WordPress. Недостатки включения тэгов [exec]…[/exec] для размещения php-кода: пользователи, являющиеся авторами, могут легко использовать эту конструкцию и делать с сайтом что угодно. Поэтому, если Вам необходимо добавить PHP-код всего на пару страниц своего сайта, рекомендую сделать это следующим образом: 1. Создаём страницу стандартным способом 2. Создаём отдельный шаблон страницы Узнаём какая постоянная ссылка у только что созданной страницы. В моём случае — https://blog.knasys.ru/test-php/. Теперь нам нужно создать шаблон, к примеру в Notepad++. Создаём новый документ, устанавливаем кодировку «UTF-8 (без BOM)«, содержимое копируем из файла «Шаблон страницы (page.php)» находим в тексте функцию the_content: <?php the_content(‘<p class=»serif»>Читать полностью »</p>’); ?> она получает содержимое страницы отсюда: Теперь можем вставить свой…
PHP Отправка письма с чужого E-mail
Вообще говоря, отправить E-mail с помощью PHP-скрипта — тривиальная задача. Делается это так: <?php //Отправляем Email и проверяем на удачу if (mail(«send_to@mail.ru», «Тема_письма», «Сообщение_в_письме»)){ echo «сообщение принято к доставке»; }else{ echo «что-то пошло не так»; } ?> В результате выполнения скрипта на адрес send_to@mail.ru придет письмо с непонятного адреса Вашего почтового сервера. Чтобы изменить адрес отправителя всего-то нужно указать дополнительный параметр From вот так: <?php //Отправляем Email и проверяем на удачу if (mail(«send_to@mail.ru», «Тема_письма», «Сообщение_в_письме», «From: sender@mail.ru»)){ echo «сообщение принято к доставке»; }else{ echo «что-то пошло не так»; } ?> Теперь гораздо лучше, письмо пришло якобы с адреса sender@mail.ru (почему-то в голову закрадываются мысли как можно надуривать юзеров отправляя левые сообщения с известных адресов). Однако, когда приходит письмо от известного E-mail, то в графе отправителя, вместо E-mail адреса, пишется имя отправителя. Можно так сделать и в нашем примере: <?php //Отправляем…
Обрезать строку JavaScript — trim
К сожалению, в JavaScript отсутствует функция Trim(), однако можно выкрутиться используя следующий код: Для маленьких строк: function trim(str) { return str.replace(/^s+|s+$/g, »); } Для длинных строк: function trim (str) { str = str.replace(/^s+/, »); for (var i = str.length; —i >= 0;) { if (/S/.test(str.charAt(i))) { str = str.substring(0, i + 1); break; } } return str; } Отличие только в производительности кода.
Деактивация html тэгов в PHP
Чтобы обезопасить вводимые пользователем сайта данные, нужно деактивировать html тэги. Для этого в обрабатывающем PHP скрипте можно создать функцию замены знаков «<» и «>» на «<» и «>» соответственно: <?php echo «Деактивировано=» . deactivate(«переход<br>на новую<br>строку); function deactivate($str) { $str = str_replace(«<«,»<»,$str); $str = str_replace(«>»,»>»,$str); return $str; } ?>
Использование MySQL в WordPress
WordPress позволяет работать с базой данных собственными средствами, без необходимости создавать собственное отдельное соединение с базой данных. Не буду расжовывать, приведу лишь работающий пример получения данных выборки из базы: <?php header(‘Content-type: text/html; charset=utf-8’); //Кодировка для корректного отображения русских букв require_once($_SERVER[‘DOCUMENT_ROOT’] . $folder . ‘/wp-config.php’); //Получаем логин и пароль для подключения к базе данных из файла wp-config.php //Используем встроенную функцию для работы с базой данных WordPress if (!$wpdb) { $wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); } else { global $wpdb; } $posts = $wpdb->get_results(«SELECT * FROM vrachi», ARRAY_N); //В переменную $posts извлекаем все данные таблицы «vrachi» //Выводим результат echo print_r($posts); echo «<br><br><br>»; ?> Пример получения конкретной ячейки из базы: <?php header(‘Content-type: text/html; charset=utf-8’); //Кодировка для корректного отображения русских букв //Создаём SQL-запрос $sql_zapros = «SELECT doctor_id FROM `vrachi` where link=’vrachi_algasova-i-v'»; //Узнаём в БД require_once($_SERVER[‘DOCUMENT_ROOT’] . $folder . ‘/wp-config.php’); //Получаем логин и пароль для…
Использование MySQL в PHP скрипте
Для того чтобы получить общее представление о MySQL и работе с ним в PHP рекомендую посмотреть несколько видеоуроков: http://www.youtube.com/watch?v=sCB7e8bZsHs Создав простую базу данных с помощью этих видеоуроков, можем обратиться к ней следующим PHP-скриптом: <?php $connect = mysql_connect(«localhost», «UserName»,»YourPassword»); //Устанавливаем соединение с БД $select = mysql_select_db(«YourDatabaseName», $connect); //Выбираем базу данных «YourDatabaseName» $result = mysql_query(«SELECT * FROM yourtable», $connect); //Отправляем SQL-запрос возвращения всех полей таблицы «yourtable» while($data = mysql_fetch_row($result)) //Перебираем все возвращенные строки { echo $data[0]; //Выводим результат echo $data[1]; echo $data[2]; } mysql_free_result($result); //Освобождаем переменную с результатами запроса mysql_close($connect); //Отключаемся от базы данных ?> Смотри также: Использование MySQL в WordPress
Передать PHP скрипту параметры и обработать их
Допустим, мы хотим передать некоторому draw.php скрипту следующие параметры: color1 = white; color2 = red. Для этого делаем запрос: http://site.ru/draw.php?color1=white&color2=red Тогда, чтобы обработать данные параметры, тело скрипта должно выглядеть так: <?php $color1=$_GET[‘color1’]; $color2=$_GET[‘color2’]; echo «Цвет1 = $color1<br>»; echo «Цвет2 = $color2″; ?> Не забываем при этом указать кодировку PHP-скрипта «UTF-8 (без BOM)», иначе могут быть кракозябры
Проверить что в строке только числа JavaScript
var numdom = document.getElementById(‘inpid’).value; if(numdom.match(/^d+$/)) { //Число целое }
Перебор всех свойств элемента JavaScript
var el = document.getElementById(«VozrastGroup»)[0]; for (prop in el) { //alert(prop + » = » + el[prop]); if (prop==»val»){ alert(prop + » = » + el[prop]); } }