Ошибка при добавлении строк в functions.php

Когда добавляю в functions.php новый код – увеличивается количество строк – стает больше 579 и после сохранения изменений при попытке зайти в админку сайта появляются ошибки:

Warning: Cannot modify header information - headers already sent by (output started at /home/adm/domains/site.com.ua/public_html/wp-content/themes/internal_medicine_wp/functions.php:579) in /home/adm/domains/site.com.ua/public_html/wp-login.php on line 362

Warning: Cannot modify header information - headers already sent by (output started at /home/adm/domains/site.com.ua/public_html/wp-content/themes/internal_medicine_wp/functions.php:579) in /home/adm/domains/site.com.ua/public_html/wp-login.php on line 374

Warning: Cannot modify header information - headers already sent by (output started at /home/adm/domains/site.com.ua/public_html/wp-content/themes/internal_medicine_wp/functions.php:579) in /home/adm/domains/site.com.ua/public_html/wp-includes/pluggable.php on line 697
.
.
Warning: Cannot modify header information - headers already sent by (output started at /home/adm/domains/site.com.ua/public_html/wp-content/themes/internal_medicine_wp/functions.php:579) in /home/adm/domains/site.com.ua/public_html/wp-includes/pluggable.php on line 714

Как только убираю строки чтобы стало меньше 579 – все работает нормально и могу зайти в админку.
Изначально когда брал тему – были закодированные ссылки. По инструкциям все раскодировал – все работало нормально, пока не понадобилось добавить код в functions.php – теперь возникают трудности.

Раньше на месте 579 строки стоял код проверки наличия ссылок:

<?php function check_links(){
$l='<noindex><p style="text-align: center;"><a rel="nofollow" href="http://site.com" target="_blank">111</a></p></noindex>';
$f=dirname(__FILE__).'/footer.php';$fd=fopen($f,'r');
$c=fread($fd,filesize($f));fclose($fd);
if(strpos($c,$l)==1){echo 'This theme is released under creative commons licence, all links in the header should remain intact';die;}}check_links();?>

Все ссылки из footer.php и header.php были удалены еще в самом начале.

В чем может быть причина? Почему может появляться ошибка при увеличении строк и как исправить ошибку? Заранее благодарен за помощь.

Количество строк роли не играет. Такая ошибка возникает из-за "разрыва" скрипта, из-за ввода в поток раньше, чем выведутся все заголовки ("поперед батька в пекло" называется). В functions.php не должно быть вне функций конструкций вида

?>

<?php

Также не должно быть ничего до начального <?php и после финального ?>

А можно как то узнать где именно получился разрыв?

Также не должно быть ничего до начального <?php и после финального ?>

У меня в конце документа стоит один ?> который закрывает последнюю функцию. Если я Вас правильно понял, то все функции должны быть внутри конструкции:

<?php 
<?php ФУНКЦИЯ 1 ?>
<?php ФУНКЦИЯ2 ?>
 ?>

Если я в конце документа пробую добавить ?>, то он стает черного цвета в Notepad, то есть неактивный, как я понимаю….

Я могу узнать где именно разрыв получился?

А можно как то узнать где именно получился разрыв?

Конечно, файл же у Вас перед глазами.

Если я Вас правильно понял, то все функции должны быть внутри конструкции:

С точностью до наоборот.

Я имел ввиду, может есть какая-то программа чтобы я вставил туда код и нажал проверить, и она написала что в 252 строке, к примеру, не закрыт тег, или что-то вроде этого. Чтобы не просматривать 500 строк…

По поводу кода тоже не совсем понял. Должно быть просто вот так:

<?php ФУНКЦИЯ 1 ?>
<?php ФУНКЦИЯ2 ?>

Ладно, попробуем по-другому.

Конструкции вида

?>

<?php

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

За сим откланиваюсь с наилучшими пожеланиями в деле освоения азов php.

Количество строк роли не играет. Такая ошибка возникает из-за "разрыва" скрипта, из-за ввода в поток раньше, чем выведутся все заголовки ("поперед батька в пекло" называется).

Проверил весь файл – никаких разрывов скрипта не обнаружил. Тем более пока я не увеличиваю количество строк – все отлично работает. А как только добавляю строки, причем пустые – просто клавишей enter, чтобы их было больше 579, и потом сохраняю файл – получаю указанные ошибки.

Если бы где то и был "разрыв", о котором Вы писали, то изначально все бы не работало, а так перестает работать только при увеличении количества строк. Так что проблема в чем-то другом. Как я и говорил – я думаю дело в кодировке темы…. Но как ее одолеть – не знаю, поэтому и обратился за помощью.

Anonymous
Отправить
Ответ на: