Как убрать копирайты из шаблонов WordPress

Как убрать копирайты из шаблонов Wordpress

Шаблонов под wordpress не просто много, а очень много. Они делятся на три группы- платные, бесплатные и условно-бесплатные. Условная бесплатность означает, что шаблон вам достается бесплатно, но за его использование вы платите размещением в подвале сайта ссылок, оставленных автором шаблона.

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

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

Как убрать копирайты из шаблонов WordPress

Существует несколько способов для удаления таких ссылок.

Способ первый — использование дешифраторов на основе base64_decode. Достаточно взять онлайн декодер, например и попробовать скормить ему код. А затем расшифрованный php код вписать в футер, вырезать ссылки и наслаждаться.

Но иногда футеры кодируют по принципу матрешки для усложнения раскодирования: кодируют один раз одним способом, потом закодированное кодируют еще раз другим способом, поэтому гораздо проще использовать способ второй- замена кода футера на html код.

Для этого в файл footer.php до и после кода дописываем любой произвольный текст, например 111 до и 111 после. Смотрим обновленную страницу в броузере и открываем исходный код страницы. Копируем весь html код, что Вырезаем ссылки, удаляем 111, сохраняем и наслаждаемся.

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

Поэтому делать стоит так — заменять закодированный футер на хтмл код только после того, как все изменения в функционал сайта внесены и далее сайт будет только наполняться и развиваться.

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

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

Рассмотрим способы удаления таких ссылок

В footer.php мы увидим такую картину

Как убрать копирайты из шаблонов WordPress

Удаление содержимого 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") &gt; 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("/&lt;\!--(.*" . $lp . ".*)--&gt;/si", $c) || preg_match("/&lt;\?php([^\?]+[^&gt;]+" . $lp . ".*)\?
&gt;/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-&gt;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, закодированные файлы выглядят так

Как убрать копирайты из шаблонов WordPress

Для декодирования используется онлайн hex декодер

Как убрать копирайты из шаблонов WordPress

После декодирования получаем код

Как убрать копирайты из шаблонов WordPress

который вставляем назад в файл шаблона. А затем удаляем все ненужное.

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

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

Главное понять сам принцип работы такой защиты, и если при колдовстве с другим шаблоном в functions.php код не будет найден — поищите в других файлах темы, например в header.php или внутри папки includes, lib, css и т. п.

1 КОММЕНТАРИЙ

  1. У меня в шаблоне есть две ссылки на другой сайт сайт. Я нашел их в коде шаблона но удалить не могу. Как убрать закодированные ссылки из темы WordPress?

ОСТАВЬТЕ ОТВЕТ