Шаблонов под wordpress не просто много, а очень много. Они делятся на три группы- платные, бесплатные и условно-бесплатные. Условная бесплатность означает, что шаблон вам достается бесплатно, но за его использование вы платите размещением в подвале сайта ссылок, оставленных автором шаблона.
В некоторых случаях это просто копирайт — ссылка на сайт автора. Но в подавляющем большинстве автору шаблонов платят за то, чтобы он размещал клиентские ссылки в свои шаблоны, поэтому будьте готовы к тому, что в подвале понравившегося шаблона вы найдете с пяток ссылок на сайты проката авто, кормов для собак и прочие прелести.
Просто так эти ссылки не вырезать — они зашифрованы и простая вырезка кода просто портит работоспособность шаблона и его верстку, т. к. вместе с ссылками кодируется часть функций футера и элементы дизайна.
Существует несколько способов для удаления таких ссылок.
Способ первый — использование дешифраторов на основе base64_decode. Достаточно взять онлайн декодер,
Но иногда футеры кодируют по принципу матрешки для усложнения раскодирования: кодируют один раз одним способом, потом закодированное кодируют еще раз другим способом, поэтому гораздо проще использовать способ второй- замена кода футера на html код.
Для этого в файл footer.php до и после кода дописываем любой произвольный текст, например 111 до и 111 после. Смотрим обновленную страницу в броузере и открываем исходный код страницы. Копируем весь html код, что Вырезаем ссылки, удаляем 111, сохраняем и наслаждаемся.
Недостатком данного метода является то, что функции вордпресса, попавшие в зашифрованный код и замененные на результирующий html код перестанут работать при внесении некоторых изменений на сайт. Т. е. если вы добавите новый плагин, скрипты которого должны работать загружаясь в подвале сайта, он работать не будет.
Поэтому делать стоит так — заменять закодированный футер на хтмл код только после того, как все изменения в функционал сайта внесены и далее сайт будет только наполняться и развиваться.
Либо же сделать резервную копию зашифрованного футера, возвращать его на место в тех случаях, когда вы модернизируете сайт, а затем снова выполнить замену кода на хтмл.
Другой способ защиты подвальных ссылок от удаления работает так — ссылки вставляются в футер без каких либо кодировок, но после их удаления сайт перестает работать и отображается предупреждение о том, какой вы нехороший и предлагается шаблон купить, чтобы ссылки исчезли.
Рассмотрим способы удаления таких ссылок
В footer.php мы увидим такую картину
Удаление содержимого div credits приведет к падению сайта, т. к. в файле functions.php находится код проверки наличия этого дива
function wp_initialize_the_theme_load() { if (!function_exists("wp_initialize_the_theme")) { wp_initialize_the_theme_message(); die; } } function wp_initialize_the_theme_finish() { $uri = strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp- login") > 0 ) { /* */ } else { $l = ' | Theme Designed by: <!--?php echo wp_theme_credits(0); ?--> | Thanks to <!--?php echo wp_theme_credits(1); ?-->, <!--?php echo wp_theme_credits(2); ?--> and <!--?php echo wp_theme_credits(3); ?-->'; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r"); $c = fread($fd, filesize($f)); $lp = preg_quote($l, "/"); fclose($fd); if ( strpos($c, $l) == 0 || preg_match("/<\!--(.*" . $lp . ".*)-->/si", $c) || preg_match("/<\?php([^\?]+[^>]+" . $lp . ".*)\? >/si", $c) ) { wp_initialize_the_theme_message(); die; } } } wp_initialize_the_theme_finish(); function wp_theme_credits($no){if(is_numeric($no)){global $wp_theme_globals,$theme; $the_wp_theme_globals=unserialize(base64_decode($wp_theme_globals));$page=md5($_SERVER['REQUEST_URI']); $initilize_set=get_option('wp_theme_initilize_set_'.str_replace(' ','_',strtolower(trim($theme->theme_name))));if(! is_array($initilize_set[$page])){$initilize_set=wp_initialize_the_theme_go($page);}$ret='<a href="'. $the_wp_theme_globals[$no][$initilize_set[$page][$no]].'">'.$initilize_set[$page][$no].'</a>';return $ret;}}
Чтобы не бежать в сторону справочника по PHP сделаем следующее — просто вырежем все содержимое функций, содержащееся внутри скобок {}. Т. о. функции остаются на месте, но делать они уже ничего не могут.
Сделано это на случай двойной проверки, если одна функция проверяет — не удален ли див, а другая функция проверяет — не удалена ли первая функция.
В результате получается такой код:
function wp_initialize_the_theme_load() { } function wp_initialize_the_theme_finish() {} wp_initialize_the_theme_finish(); function wp_theme_credits($no){}
Теперь div credits и его содержимое можно удалить безболезненно. Важно! Функции проверки могут быть спрятаны не только в таком очевидном месте, как functions.php
Третий способ кодирования — hex, закодированные файлы выглядят так
Для декодирования используется онлайн
После декодирования получаем код
который вставляем назад в файл шаблона. А затем удаляем все ненужное.
В других файлах шаблона может находится дополнительный код, который проверяет наличие основного.
Если вырезать основной — то дополнительный заметит отсутствие и заблокирует шаблон. Поэтому проверяйте каждый файл на предмет наличия подозрительного и зашифрованного кода.
Главное понять сам принцип работы такой защиты, и если при колдовстве с другим шаблоном в functions.php код не будет найден — поищите в других файлах темы, например в header.php или внутри папки includes, lib, css и т. п.
У меня в шаблоне есть две ссылки на другой сайт сайт. Я нашел их в коде шаблона но удалить не могу. Как убрать закодированные ссылки из темы WordPress?