ОШИБКА: добавление контейнера в function.php

#php #html #syntax-error

#php #HTML #синтаксическая ошибка

Вопрос:

Я получаю следующую ошибку:

Ошибка синтаксического анализа: неожиданная ‘<‘ в /home/u7mtb69/public_html/wpsitehrhhw/wp-content/themes/hrhhw.1.1/functions.php в строке 1201

Я пытаюсь добавить мета-поля в пользовательский раздел публикации в моем function.php файл.

Файл работает отлично, пока я не добавлю <div> контейнер, затем я получаю сообщение об ошибке, но контейнер выглядит корректно.

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

 // Add WHEELS meta boxes

    add_action( 'add_meta_boxes' , 'wheel_meta_boxes' );
    function wheel_meta_boxes() {
        add_meta_box(
        'wheel_info',
        __( 'Wheel Info'),
        'wheel_info_div',
        'wheels'
        );
    }

    function wheel_info_div( $post ) {
      // Use nonce for verification
      wp_nonce_field( plugin_basename( __FILE__ ), 'wheel_noncename' );
    }

// WHEELS fields for data entry

<div>
    <label for="tire_code">
        <?php _e("Tire Code");?>
    </label>
        <input type="text" name="tire_code" value="<?php echo get_post_meta($post->ID, 'tire_code', true);?>" />
        <br>

    <label for="tire_name">
        <?php _e("Tire Name");?>
    </label>
        <input type="text" name="tire_name" value="<?php echo get_post_meta($post->ID, 'tire_name', true);?>" />
        <br>

    <label for="tire_bname">
        <?php _e("Tire Brand");?>
    </label>
        <input type="text" name="tire_bname" value="<?php echo get_post_meta($post->ID, 'tire_bname', true);?>" />
        <br>

    <input type="button" value="Create" id="create" />
    <input type="button" value="Replace" id="replace" />
    </div>

// NEXT

// END

?>
  

Ответ №1:

Проблема в том, что вы помещаете HTML внутри PHP-блока. Не делайте этого.

Вы должны помнить, что PHP и HTML полностью различны. Нет никакой связи, кроме того, что HTML, который видит ваш браузер, является результатом интерпретатора PHP, выполняющего ваш PHP-скрипт (который может включать некоторый жестко закодированный HTML для сохранения в выходных данных, как ваш <div> ). Итак, когда вы видите ошибку PHP, это не будет ошибкой HTML.


Неправильно:

 <?php
$somePHPCodeHere = 3;

<p>Some HTML here.</p>
?>
  

Правильно:

 <?php
$somePHPCodeHere = 3;
?>

<p>Some HTML here.</p>
  

Комментарии:

1. Спасибо, это помогло избавиться от ошибки, но теперь она помещает ввод в верхнюю часть экрана всех меню администратора. Итак, я поработаю с этим и посмотрю, что я могу сделать.

2. Я думаю, вам следует прочитать руководство по PHP. Возможно, вы неправильно понимаете, как работает PHP и что он делает, и куда выводится его вывод.

Ответ №2:

Другими словами: Вам просто нужно добавить закрывающий php-тег ?> сразу после этой строки:

 // WHEELS fields for data entry
?>