Если еще в функции Wordpress

У меня есть следующий код:


function wpb_hook_javascript() {
  if (is_page( array( 244, 174, 697, 702, 699, 708, 713 ) ) ) { 
    ?>
      <noscript>
            <iframe src = "FORM_ONE" width = "100%" height = "550" type = "text/html" frameborder = "0" allowTransparency = "true" style = "border: 0"></iframe>
      </noscript>

      <script type = "text/javascript">
            var form = 'FORM_ONE';
            var params = window.location.search;
            var thisScript = document.scripts[document.scripts.length - 1];
            var iframe = document.createElement('iframe');

            iframe.setAttribute('src', form + params);
            iframe.setAttribute('width', '100%');
            iframe.setAttribute('height', 550);
            iframe.setAttribute('type', 'text/html');
            iframe.setAttribute('frameborder', 0);
            iframe.setAttribute('allowTransparency', 'true');
            iframe.style.border = '0';

            thisScript.parentElement.replaceChild(iframe, thisScript);
      </script>
      
    <?php }

  elseif (is_page( array( 187, 283, 285, 287, 18608, 18619, 18629, 295, 297, 299, 303, 305, 307 ) ) ) { ?>
      <noscript>
            <iframe src = "FORM_TWO" width = "100%" height = "550" type = "text/html" frameborder = "0" allowTransparency = "true" style = "border: 0"></iframe>
      </noscript>

      <script type = "text/javascript">
            var form = 'FORM_TWO';
            var params = window.location.search;
            var thisScript = document.scripts[document.scripts.length - 1];
            var iframe = document.createElement('iframe');

            iframe.setAttribute('src', form + params);
            iframe.setAttribute('width', '100%');
            iframe.setAttribute('height', 550);
            iframe.setAttribute('type', 'text/html');
            iframe.setAttribute('frameborder', 0);
            iframe.setAttribute('allowTransparency', 'true');
            iframe.style.border = '0';

            thisScript.parentElement.replaceChild(iframe, thisScript);
      </script>
        
    <?php }

    else (is_page( array( 205, 399, 401, 403, 405, 407 ) ) ) {  ?>
      <noscript>
            <iframe src = "FORM_THREE" width = "100%" height = "550" type = "text/html" frameborder = "0" allowTransparency = "true" style = "border: 0"></iframe>
      </noscript>

      <script type = "text/javascript">
            var form = 'FORM_THREE';
            var params = window.location.search;
            var thisScript = document.scripts[document.scripts.length - 1];
            var iframe = document.createElement('iframe');

            iframe.setAttribute('src', form + params);
            iframe.setAttribute('width', '100%');
            iframe.setAttribute('height', 550);
            iframe.setAttribute('type', 'text/html');
            iframe.setAttribute('frameborder', 0);
            iframe.setAttribute('allowTransparency', 'true');
            iframe.style.border = '0';

            thisScript.parentElement.replaceChild(iframe, thisScript);
      </script>
    <?php }  

}
add_action('wp_head', 'wpb_hook_javascript');

В зависимости от списка страниц в массиве мне нужно обслуживать другую форму. В настоящее время у меня есть формы, где у меня есть FORM_ONE и т. д. Этот код в настоящее время ломает мой сайт.

Если я удалю elseif & else, это сработает, НО мне есть что добавить.

Может ли кто-нибудь сказать мне, что я сделал неправильно?

ТИА

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
32
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Удалите endif; в нижней строке.

Если вы хотите использовать endif;, вы должны использовать следующий синтаксис:

<?php if ( condition ) : ?>

    { html goes here }

<?php elseif ( condition ): ?>

    { html goes here }

<?php else : ?>

    { html goes here }

<?php endif; ?>

Я удалил его и все еще ломает сайт:

OverdueOrange 04.05.2022 13:44

Вы уверены, что ошибка именно в этом фрагменте? Какое сообщение об ошибке вы получаете?

Haddock-san 04.05.2022 14:22
Ответ принят как подходящий

Проблема в таком состоянии:

else (is_page( array( 205, 399, 401, 403, 405, 407 ) ) ) {  ?>

Либо измените else на elseif, либо удалите условие после else

Кажется, работает, спасибо. Я думал, что последний в длинном выражении if else должен быть else.

OverdueOrange 04.05.2022 14:29

Без проблем. Для этого нет ограничений, вы можете иметь столько elseif, сколько хотите, не указывая else.

Haseeb Hassy 04.05.2022 14:31

Другие вопросы по теме