Проверка тем вордпресс. Проверка темы. Нельзя использовать внутри Цикла WordPress

Проверяет отображается ли страница "постоянной страницы". Можно указать ID, ярлык или заголовок страницы для проверки. Условный тег.

Вернет true при передаче пустых значений

Будьте внимательны, потому что следующие вызовы этой функции вернут true:

Is_page("") is_page(0) is_page("0") is_page(null) is_page(false) is_page(array())

Нельзя использовать внутри Цикла WordPress

Из-за того что в при работе цикла переписываются некоторые глобальные переменные, is_page() не получится использовать внутри цикла. Впрочем, в этом нет необходимости. Чтобы использовать этот Тег шаблона после цикла, произвольный цикл (запрос на получение записей) надо сбросить функцией: wp_reset_query()

✈ 1 раз = 0.000012с = очень быстро | 50000 раз = 0.02с = скорость света | PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

true/false. true, если отображается тип страницы: постоянной страницы и false, если отображается любой другой тип страницы.

Использование

if(is_page($page)){ //код } $page(строка/число/объект)

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

По умолчанию: нет

Примеры

#1 Функция в действии

Различные примеры использования - случаи когда функция возвращает true (срабатывает):

Is_page(); // Когда отображается любая постоянная страница. is_page(42); // когда отображается страница с ID 42. is_page("О сайте"); // Когда отображается страница с заголовком "О сайте". is_page("o-saite"); // Когда отображается страница со слагом "o-saite". is_page(array(42, "o-saite", "О сайте")); // Параметры можно комбинировать. Добавлено в версии 2.5. is_page(array("sample-page", "contacts", 23, 34)); // Можно проверять несколько страниц одновременно. Все указанные страницы разные...

#2 Заметка про кириллицу и ярлык (слаг)

Если у вас на сайте кириллица не меняется на латиницу - нет плагина Cyr-To-Lat или ему подобного, то при создании записи её ярлык изменяется и кириллица превращается в спец символы (контакты - %d0%ba%d0%be%d0%bd%d1%82%d0%b0%d0%ba%d1%82%d1%8b), поэтому при проверке нужно это учитывать. Т.е. если проверяется не заголовок, а ярлык (post_name), то делайте так:

Is_page("о-сайте"); // неправильно is_page(sanitize_title("о-сайте")); // правильно

#3 Проверка находимся ли мы на дочерней странице у постоянной страницы

В WordPress нет функции is_subpage() . Но такую проверку можно сделать таким кодом:

Global $post; // Если за пределами цикла if (is_page() && $post->post_parent) { // Это дочерняя страница } else { // Это не дочерняя страница }

Можно создать свою функцию is_subpage() . Добавьте такой код в файл темы functions.php . Она работает как же как первый пример: проверят является ли текущая страница дочерней, т.е. страница ли это вообще и есть ли у нее родительская страница.

Такую функцию полезно создавать, когда на сайте предполагается делать проверки как в примере 1 много раз.

/* * Проверят является ли текущая постоянная страница дочерней страницей * Возвращает true или false */ function is_subpage() { global $post; if (is_page() && $post->post_parent) { return $post->post_parent; } return false; }

Чтобы определить страницу "О сайте" или её дочернюю страницу, используйте этот пример. Этот пример может пригодится, когда нужно указать переменную для всей ветки страниц. Здесь мы укажем картинку для ветки:

If (is_page("about") || "2" == $post->post_parent) { // Это страница "О сайте" или её дочерняя страница $bannerimg = "about.jpg"; } elseif (is_page("learning") || "56" == $post->post_parent) { $bannerimg = "teaching.jpg"; } elseif (is_page("admissions") || "15" == $post->post_parent) { $bannerimg = "admissions.jpg"; } else { $bannerimg = "home.jpg"; // если мы на неопределенной странице, выведем картинку по умолчанию }

Создадим функцию, которая проверит все уровни вложенности, всю ветку подстраниц и если мы на одной из страниц ветки, то функция вернет true, в противном случае false. Т.е. предположим у нас есть страница "О нас" у нее есть дочерняя страница "Наши услуги", а у этой страницы есть еще дочерние страницы "Покраска" и "Отделка". В эту функцию передадим ID страницы "О нас" и она будет возвращать true если мы находимся на любой из указанных страниц:

/* * Проверка дочерних страниц по всем уровням вложенности * $pid = ID страницы все уровни дочерних страниц которой нужно проверить */ function is_tree($pid){ global $post; // если мы уже на указанной странице выходим if (is_page($pid)) return true; $anc = get_post_ancestors($post->ID); foreach ($anc as $ancestor) { if(is_page() && $ancestor == $pid) { return true; } } return false; }

#4 Проверка разделения страницы

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

$paged = $wp_query->get("paged"); if (! $paged || $paged < 2){ // Пост не разделен на страницы или это не первая страница. } else { // Это 2,3,4 ... страница разделенного поста. }

$paged = get_query_var("paged") ? get_query_var("paged") : false; if ($paged === false){ // Пост не разделен на страницы или это не первая страница. } else { // Это 2,3,4 ... страница разделенного поста. }

If (0 === get_query_var("page")) { // Пост не разделен на страницы или это не первая страница. } else { // Это 2,3,4 ... страница разделенного поста. }

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

Обычно такой левый код устанавливают в файлы index.php, footer.php но не стоит путать их с обычными ссылками, когда автор темы оставляет их открытыми и они видны при просмотре темы, вреда они никого не несут, вы можете просто их удалить или оставить, это уже вам решать. Единственное вам нужно будет их закрыть от индексации, чтобы лишний раз не привлекать внимание поисковиков, так как за ссылки сейчас очень сильно наказывают и понижают в выдаче, особенно если у вас молодой сайт.

Если вы уже более опытный вебмастер и разбираетесь в основах html и php, то обязательно после выбора и установки вашего шаблона на сайт проверьте основные файлы, для этого обычно используют программу «notepad» бывают случаи, что и там просто вставляют открытые ссылки, которые также абсолютно не нужны на вашем сайте и их в обязательном порядке следует удалить. Затем вам следует проверить вашу тему с помощью такого замечательного плагина как TAC (Theme Authenticity Checker) его функция заключается в поиске вредоносных ссылок и опасного кода, более того если у вас найдётся такая ссылка или код, то данный плагин в автоматическом режиме покажет вам этот код, чтобы вы без труда нашли его и удалили.

Проверяем и удаляем вредоносный код с помощью плагина tac

Для начала установим его к себе на сайт, для этого откройте меню «плагины-добавить новый» вписываем название и жмём установить. Жмём активировать и на этом установка будет завершена. Далее перейдите в меню «внешний вид-TAC»

После этого вы увидите все ваши темы и плагин вам выдаст информацию есть или нет в ваших шаблонах различные вредоносные вирусы или зашифрованный код, если всё впорядке то увидите надпись «Theme OK» это означает что плагин не нашёл что-то серьёзного. Как видно из снимка, тема оказалась абсолютно чистой и в ней нет даже простых статичных ссылок.

Если в вашем шаблоне присутствуют статические ссылки, то вы можете их увидеть, для этого нажмите «Detalis» и вы увидите код ссылок.

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

Очень важно скачивать только темы с официальных сайтов, один из таких wordpress.org там вы найдёте качественные и чистые шаблоны для ваших сайтов на любую тематику. Также не забывайте вовремя обновлять вашу тему и время от времени проверять код.

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

Был у меня случай, когда один плагин давал большую нагрузку на сервер, что и блог переставал работать. Мне хостер выслал письмо с предупреждением, чтобы я позаботился о снижении нагрузки, и как бы невзначай предложил перейти на более дорогой тариф, который с этой нагрузкой легко справится. На тот момент у меня был хостинг «Sprithost ». Ох, и намучился я на этом хостинге.

Я написал в службу поддержки «Sprithost », чтобы мне помогли решить эту проблему. Мне посоветовали установить «WP Super Cache ». Да, нагрузка на сервер действительно уменьшилась, но этого было не достаточно. Блог иногда все равно был не доступен. Проблему эту я решил достаточно просто. Я перешел на другой хостинг, после чего все нагрузки исчезли.

Итак, перейдем к делу. Как бы это парадоксально не звучало, но проверять нагрузку плагинов, мы будем с помощью плагина «».

Плагин «P3 - Plugin Performance Profiler» - проверка нагрузки плагинов на сайт WordPress

Скачать плагин можно по этой ссылке . После установки и активации плагина, можно кликнуть по ссылке «Scan Now », которая находится под названием самого плагина, или перейти в «Инструменты », а потом нажать «P3 Plugin Profiler ».

Теперь Вы можете сделать сканирование всех установленных плагинов на Вашем сайте. Жмите «Start Scan ». Появится окошко, где Вы можете выбрать автоматическое сканирование (Auto Scan ), или ручное сканирование (Manual Scan ). В поле «Scan name », можно дать название этому сканированию, например, написать дату.

Если выбрать автоматическое сканирование (Auto Scan ), тогда плагин «P3 - Plugin Performance Profiler » будет автоматически сканировать определенные страницы и папки на сайте. По какому принципу он сканирует - тяжело сказать, но ждать мне приходится около 10 минут. Готовый результат, можно посмотреть, если нажать кнопу «View Results ». Появится такой график:

График разбит на части разного цвета. Каждый цвет относится к определенному плагину, например, синий цвет к плагин «WPtouch Mobile Plugin ». У Вас этот цвет может относиться совершенно к другому плагину.

Правее от графика, можно посмотреть, какой цвет к какому плагину относится. Также, если подвести курсор мыши на сам график, к определенному цвету, то Вы тоже увидите, к какому плагину относится цвет.

В моем случае, наибольшую нагрузку дает плагин «Pretty Link Lite », о котором я недавно писал. Можете почитать « »

В режиме ручного сканирования, можно отсканировать любую страницу сайте. Нажмите «Start Scan », а потом «Manual Scan ». Кликните по странице, которую собираетесь отсканировать, а потом внизу нажмите «I"m Done ».

Готовые результаты можно отправить на свой E-mail , для этого надо кликнуть внизу по ссылке «Email these results ».

Выше над графиком можно посмотреть количество установленных плагинов на Вашем сайте, время загрузки плагина, время загрузки страницы и запросы к базе данных MySQL. Там же можно посмотреть историю сканирования (History ), и получить помощь (Help ).

____________________________
К уроку 198.

Вас когда-то интересовало, какую тему оформления использует тот или иной сайт?

Часто в поисках идеальной темы мы смотрим на уже другие реализованные проекты, чтобы найти что-то похожее или сделать свой сайт на такой же теме, только со своим индивидуальным оформлением.

В этом уроке мы покажем, какие инструменты и трюки можно применить, чтобы узнать, какую тему оформления использует этот сайт на WordPress.

Способ 1. Сайт проверки IsItWP

Самый простой способ - это зайти на isitwp.com и проверить там сайт, который вас интересует.

Это онлайн-инструмент, который покажет вам, какую тему использует WordPress, и используется ли вообще WordPress на этом сайте.

Если на сайте стоит WordPress, IsItWP попытается узнать имя текущей темы оформления.

Также он попытается узнать, какие активные плагины используются на сайте:

Если вам повезло, и это не кастомная или дочерняя тема, то IsItWP выдаст ее название, и дальше вы можете найти эту тему в поисковиках.

Способ 2. Определяем вручную

Иногда владельцы сайта или разработчики меняют название родной WordPress темы. В таком случае инструменты вроде IsItWP не смогут вам помочь.

Но даже если так, в коде сайта все равно могут остаться разные подсказки, которые помогут вычислить, что же за тема установлена.

Давайте посмотрим.

Каждая тема оформления WordPress обязана иметь файл style.css . Этот файл содержит внутри заголовок (header), в котором, как правило, указано имя темы, автор темы, версия и сайт-разработчик темы. Также там указываются другие шаблоны css-стилей, которые использует тема.

Чтобы найти этот файл, для начала нужно зайти на сам сайт. Кликните правой кнопкой где-то на главной странице и перейдите к просмотру исходного кода (View Page Source ).

В браузере в новой вкладке откроется исходный код главной страницы сайта.

Теперь вам нужно найти строчку кода, которая выглядит примерно так:

Чтобы облегчить задачу, можно выполнить Поиск по этой вкладке с кодом по фрагменту "themes ". Это часть из директории, где лежит style.css .

Таким образом вы найдете путь, по которому лежит файл style.css, и сможете открыть этот файл прямо в браузере в новой вкладке.

В верхней части style.css будет находиться шапка с заголовком (о котором мы говорили выше). Это сервисная информация о теме оформления. Выглядит это примерно так:

/* Theme Name: Theme Name Theme URI: https://example.com Author: ThemeAuthorName Author URI: https://example.com Description: My Theme is a flexible WordPress theme designed for portfolio websites Version: 1.1.47 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: hestia Tags: blog, custom-logo, portfolio, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready */

Из этого блока вы сможете узнать название темы и адрес разработчика. Дальше остается только найти эту тему в интернете.

Способ 3. Как найти родительскую тему

Многие сайты используют дочерние темы для пользовательской настройки оформления. И это вполне правильный подход.

В таком случае, если вы отыскали файл style.css от дочерней темы, в его шапке будет указана информация о родительской теме:

/* Theme Name: My Child Theme Description: Just a child theme Author: Peter Smith Author URL: Write here the author"s blog or website url Template: hestia Version: 1.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: my-child-theme */

В примере выше на родительскую тему указывает параметр "Template ", то есть для этой дочерней темы используется родительская тема "Hestia".

Также о родительской теме можно узнать из исходного кода, описанного в Способе 2. В коде вы найдете отсылку к файлу style.css не только от дочерней темы, но и от родительской темы.

Но не забывайте, что разработчик мог постараться и изменить все заголовки для style.css на свои, в таком случае определить оригинал темы будет очень сложно.

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

Что такое вредоносный код на сайте WordPress

По внешнему виду, чаще всего, вредоносный код это набор букв и символов латинского алфавита. На самом деле это зашифрованный код, по которому исполняется, то или иное действие. Действия могут быть самые различные, например, ваши новые посты, сразу публикуются на стороннем ресурсе. По сути это кража вашего контента. Есть у кодов и другие «задачи», например, размещение исходящих ссылок на страницах сайта. Задачи могут самые изощренные, но понятно одно, что за вредоносными кодами нужно охотиться и удалять.

Как попадают вредоносные коды на сайт

Лазейки для попадания кодов на сайт, также множество.

  1. Чаще всего, это темы и плагины скачанные с «левых» ресурсов. Хотя, такое проникновение характерно для, так называемых, зашифрованных ссылок. Явный код так не попадает на сайт.
  2. Проникновение вируса при взломе сайта, самое опасное. Как правило, взлом сайта позволяет разместить не только «одноразовый код», но установить код с элементами malware (вредоносной программы). Например, вы находите код, и удаляет его, а он восстанавливается, через некоторое время. Вариантов, опять — таки множество.

Сразу замечу, борьба с такими вирусами трудная, а ручное удаление требует знаний. Есть три решения проблемы: первое решение – использовать плагины анитвирисники, например, плагин под названием BulletProof Security .

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

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

Как искать вредоносный код на WordPress

Важно понимать, что вредоносный код на WordPress может быть в любом файле сайта, и не обязательно в рабочей теме. Он может занестись с плагином, с темой, с «самодельным» кодом взятого из Интернет. Попробовать найти вредоносный код можно несколькими способами.

Способ 1. Вручную. Листаете все файлы сайта и сравниваете их с файлами незараженного бэкапа. Находите чужой код – удаляете.

Способ 2. С помощью плагинов безопасности WordPress. Например, . У этого плагина есть замечательная функция, сканирование файлов сайта на наличие чужого кода и плагин прекрасно справляется с этой задачей.

Способ 3. Если у вас, разумный support хостинга, и вам кажется, что на сайте «чужой», попросите их просканировать ваш сайт своим антивирусом. В их отчете будет указаны все зараженные файлы. Далее, открываете эти файлы в текстовом редакторе и удаляете вредоносный код.

Способ 4. Если вы можете работать с SSH доступом к каталогу сайта, то вперед, там своя кухня.

Важно! Каким бы способом вы не искали вредоносный код, перед поиском и последующим удалением кода, закройте доступ к файлам сайта (включите режим обслуживания). Помните про коды, которые сами восстанавливаются при их удалении.

Поиск вредоносных кодов по функции eval

Есть в php такая функция eval . Она позволяет исполнять любой код в ее строке. Причем код может быть закодирован. Именно из-за кодировки вредоносный код выглядит, как набор букв и символов. Популярны две кодировки:

  1. Base64;
  2. Rot13.

Соответственно в этих кодировках функция eval выглядит так:

  • eval (base64_decode (...))
  • eval (str_rot13 (...)) //во внутренних кавычках, длинные не понятные наборы букв и символов..

Алгоритм поиска вредоносного кода по функции eval следующий (работаем из административной панели):

  • идёте в редактор сайта (Внешний вид→Редактор).
  • копируете файл functions.php .
  • открываете его в текстовом редакторе (например, Notepad++) и по поиску ищите слово: eval .
  • если нашли, не спешите ничего удалять. Нужно понять, что эта функция «просит» исполнить. Чтобы это понять код нужно раскодировать. Для раскодирования есть онлайн инструменты, называемые декодеры.

Декодеры/Кодеры

Работают декодеры просто. Копируете код, который нужно расшифровать, вставляете в поле декодера и декодируете.

На момент написания статьи я не нашел у себя ни одного зашифрованного кода найденного в WordPress. Нашел код с сайта Joomla. В принципе разницы для понимания раскодирования нет. Смотрим фото.

Как видите на фото, функция eval после раскодирования, вывела не страшный код, угрожающий безопасности сайта, а зашифрованную ссылку копирайта , автора шаблона. Его тоже можно удалить, но он вернется после обновления шаблона, если вы не используете .

В завершении замечу, чтобы не получить вирус на сайт:

  • Вредоносный код на WordPress чаще приходит с темами и плагинами. Поэтому не ставьте шаблоны и плагины из «левых», не проверенных ресурсов, а если ставите, внимательно их прокачайте, на наличие ссылок и исполнительных функций php. После установки плагинов и тем с «незаконных» ресурсов, проверьте сайт антивирусами.
  • Обязательно делайте периодические бэкапы и выполняйте другие .