PHP - Parse error: syntax error, Unexpected 'endif' (T_ENDIF)

Asked

Viewed 1,234 times

0

I’m having this error in the code in functions.php line 2883, below:

?>
<!DOCTYPE html>
<!-- Ticket #11289, IE bug fix: always pad the error page with enough characters such that it is greater than 512 bytes, even after gzip compression abcdefghijklmnopqrstuvwxyz1234567890aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz11223344556677889900abacbcbdcdcededfefegfgfhghgihihjijikjkjlklkmlmlnmnmononpopoqpqprqrqsrsrtstsubcbcdcdedefefgfabcadefbghicjkldmnoepqrfstugvwxhyz1i234j567k890laabmbccnddeoeffpgghqhiirjjksklltmmnunoovppqwqrrxsstytuuzvvw0wxx1yyz2z113223434455666777889890091abc2def3ghi4jkl5mno6pqr7stu8vwx9yz11aab2bcc3dd4ee5ff6gg7hh8ii9j0jk1kl2lmm3nnoo4p5pq6qrr7ss8tt9uuvv0wwx1x2yyzz13aba4cbcb5dcdc6dedfef8egf9gfh0ghg1ihi2hji3jik4jkj5lkl6kml7mln8mnm9ono
    -->
    <html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) && function_exists( 'is_rtl' ) ) language_attributes(); else echo "dir='$text_direction'"; ?>>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width">
        <?php
        if ( function_exists( 'wp_no_robots' ) ) {
            wp_no_robots();
        }
        ?>
        <title><?php echo $title ?></title>
        <style type="text/css">
            html {
                background: #f1f1f1;
            }
            body {
                background: #fff;
                color: #444;
                font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
                margin: 2em auto;
                padding: 1em 2em;
                max-width: 700px;
                -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
                box-shadow: 0 1px 3px rgba(0,0,0,0.13);
            }
            h1 {
                border-bottom: 1px solid #dadada;
                clear: both;
                color: #666;
                font-size: 24px;
                margin: 30px 0 0 0;
                padding: 0;
                padding-bottom: 7px;
            }
            #error-page {
                margin-top: 50px;
            }
            #error-page p {
                font-size: 14px;
                line-height: 1.5;
                margin: 25px 0 20px;
            }
            #error-page code {
                font-family: Consolas, Monaco, monospace;
            }
            ul li {
                margin-bottom: 10px;
                font-size: 14px ;
            }
            a {
                color: #0073aa;
            }
            a:hover,
            a:active {
                color: #00a0d2;
            }
            a:focus {
                color: #124964;
                -webkit-box-shadow:
                    0 0 0 1px #5b9dd9,
                    0 0 2px 1px rgba(30, 140, 190, .8);
                box-shadow:
                    0 0 0 1px #5b9dd9,
                    0 0 2px 1px rgba(30, 140, 190, .8);
                outline: none;
            }
            .button {
                background: #f7f7f7;
                border: 1px solid #ccc;
                color: #555;
                display: inline-block;
                text-decoration: none;
                font-size: 13px;
                line-height: 26px;
                height: 28px;
                margin: 0;
                padding: 0 10px 1px;
                cursor: pointer;
                -webkit-border-radius: 3px;
                -webkit-appearance: none;
                border-radius: 3px;
                white-space: nowrap;
                -webkit-box-sizing: border-box;
                -moz-box-sizing:    border-box;
                box-sizing:         border-box;

                -webkit-box-shadow: 0 1px 0 #ccc;
                box-shadow: 0 1px 0 #ccc;
                vertical-align: top;
            }

            .button.button-large {
                height: 30px;
                line-height: 28px;
                padding: 0 12px 2px;
            }

            .button:hover,
            .button:focus {
                background: #fafafa;
                border-color: #999;
                color: #23282d;
            }

            .button:focus  {
                border-color: #5b9dd9;
                -webkit-box-shadow: 0 0 3px rgba( 0, 115, 170, .8 );
                box-shadow: 0 0 3px rgba( 0, 115, 170, .8 );
                outline: none;
            }

            .button:active {
                background: #eee;
                border-color: #999;
                -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
                box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
                -webkit-transform: translateY(1px);
                -ms-transform: translateY(1px);
                transform: translateY(1px);
            }

            <?php
            if ( 'rtl' == $text_direction ) {
                echo 'body { font-family: Tahoma, Arial; }';
            }
            ?>
        </style>
    </head>
    <body id="error-page">
    <?php endif; // ! did_action( 'admin_head' ) ?>
        <?php echo $message; ?>
    </body>
    </html>
    <?php
      die();
    }

The line 2883 would be in die(); someone knows the reason?

  • Removes the <?php endif; // ! did_action( 'admin_head' ) ?>

  • Oops, still the error

  • 1

    What would be the key in the last line? Only with this snippet of code will it be difficult to say what is wrong. Try to put all the code that covers that stretch - not the whole file, just the code that you need.

  • done, corrected the post

1 answer

2

You may have forgotten to start the if (): somewhere up or it may also be that your IF is like this:

 <? if (...): ?>

Instead of:

 <?php if (...): ?>

This is because the short_open_tag must be switched off in the php.ini, you can’t tell exactly where it is, but it’s probably one of these two problems.

  • I checked here and short_open_tag is enabled, I took a look too and all start with <?php if. this error appears only when accessing my site without www, and when normal access and le back in the previous edition of the site, do not appear the new edits I made.

  • @Jeanoliveira with www and without www, can be a plugin or can be the cache that does not display the error yet in the other

  • I checked this yesterday, asked to reset the router, delete cache etc, still continued, I did some tests with several people, the error appears and the mobile the site is accessed normally, without any error

  • @Jeanoliveira is not cache in browser is server-side cache, there are different types of cache-back-end, for example: https://answall.com/a/218806/3635 or wpcache (plugin)but it’s just theory, with the amount of code you posted and the information so vague there’s no way I can deduce anything, so I’m left with the theories I gave you.

  • Got it now, I’ll give researched here and try to solve, thanks for the attention xD

Browser other questions tagged

You are not signed in. Login or sign up in order to post.