Поддержка Проблемы и решения Отладчик вордпресс показал ошибку

  • Снова здравствуйте!

    При переходе на версию php 8 отладчик показывает следующую ошибку:

    Parse error: Unmatched ‘}’ in /home/kreditpl/public_html/wp-content/themes/kreditpl/functions.php on line 55
    На сайте возникла критическая ошибка.

    55 строка это самая последняя, где фигурная скобка — }

    	function mycustom_wp_footer() {
    	?>
    	<script>
    	document.addEventListener( 'wpcf7mailsent', function( event ) {
    		$('#open-success').click();
    		}, false );
    	</script>
    	<?php
    	}

    Что здесь может быть не так?

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • ВП не работает на РНР8

    Как это не работает? https://make.wordpress.org/core/2020/11/23/wordpress-and-php-8-0/

    Я перевожу в своем хостинг аккаунте на php 8 и не работает только 1 проблемный сайт, о котором я тему сейчас создал. Есть лендинг, который тоже выполнен на ВП, и все работает

    Модератор Yui

    (@fierevere)

    永子

    WP (5.7) работает, а вот темы и плагины могут и не работать

    WP (5.7) работает, а вот темы и плагины могут и не работать

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

    Я уже и пробелов пробовал добавить, но не помогает.

    • Ответ изменён 2 года, 10 месяцев назад пользователем Дмитрий.
    Модератор Yui

    (@fierevere)

    永子

    Unmatched ‘}’ in …/wp-content/themes/kreditpl/functions.php on line 55

    в теме, хотя возможно вы просто забыли поставить где-то открывающую
    { или наоборот поставили где-то (на 55 строке) }
    для которой нет открывающей скобки

    т.к. тема у вас похоже самописная, скиньте сюда весь файл functions.php

    https://pastebin.com/ сюда

    Модератор Yui

    (@fierevere)

    永子

    Во-первых короткий открывающий тег для PHP
    у вас <? лучше везде заменить на нормальный, полный <?php

    вот это лучше переписать

    function mycustom_wp_footer() {
        ?>
        <script>
        document.addEventListener( 'wpcf7mailsent', function( event ) {
            $('#open-success').click();
            }, false );
        </script>
        <?php
        }

    например через heredoc

    
    function mycustom_wp_footer() {
    echo <<<EOD
    <script>
    document.addEventListener( 'wpcf7mailsent', function( event ) {
           $('#open-success').click(); }, false );
    </script>
    EOD;
    }
    

    и не нужно будет разрывать PHP код

    Спасибо за рекомендации. Попробовал Ваш вариант и не сохраняется function.php через редактор. Выдает.

    Ваши изменения в коде PHP были отменены из за ошибки на строке 51 файла wp-content/themes/kreditpl/functions.php. Исправьте и попробуйте пересохранить.

    Invalid indentation — tabs and spaces cannot be mixed

    Модератор Yui

    (@fierevere)

    永子

    Invalid indentation — tabs and spaces cannot be mixed

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

    PHP 8 вам не нужен, никакого профита от перехода с PHP 7 не будет.

    Спасибо. Помогло. Это был скорее всего отступ перед закрывающим
    https://www.php.net/manual/ru/language.types.string.php

    Ошибка исчезла. Но появилась куча других. Сайт на php 8 стал открываться (только Главная страница) в сломанном виде. Ну уже хотя бы открывается. И отладчик показал теперь кучу других ошибок. Короче, самописная тема — это горе.

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «Отладчик вордпресс показал ошибку» закрыта для новых ответов.