#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
?>