Предупреждение: недопустимое смещение строки «включено» в

Мы пытаемся разбить форму на несколько страниц, используя шаги jQuery. Ошибка указывает на форму, которую мы пытаемся создать. Вызов на форму изначально выглядит так:

$enable_paid_submission = houzez_option('enable_paid_submission');
$user_pack_id       = get_the_author_meta( 'package_id' , $userID );
$remaining_listings     = 0;

if( is_page_template( 'submit_property_test.php' ) ) {

if( $enable_paid_submission == 'membership' && $remaining_listings != -1 && $remaining_listings < 1 ) {
print '<div class="user_package_status"><h4>'.esc_html__('HTMLhere.','houzez' ).'</h4></div>';

<?php
$layout = houzez_option('property_form_sections');
$layout = $layout['enabled'];

if ($layout): foreach ($layout as $key=>$value) {
switch($key) {
case 'features':
get_template_part( 'features' );
break;
case 'location':
get_template_part( 'location' );
break;
case 'multi-units':
get_template_part('multi-units');
break;
}
}
endif;
?>

Мы хотели бы разбить три раздела формы (функции, местоположение и несколько блоков) на три разные страницы. Мы добавили шаги jQuery, и теперь это выглядит следующим образом:

    <script>
$(function ()
{
$("#wizard").steps({
headerTag: "h2",
bodyTag: "section",
transitionEffect: "fade"});
});
</script>

<div id="wizard">
<h2>Features</h2>
<section>
<?php
$layout = houzez_option('property_form_sections');
$layout = $layout['enabled'];

if ($layout): foreach ($layout as $key=>$value) {
switch($key) {
case 'description-price':
get_template_part('features');
break;
}
}
endif;
?>
<h2>Location</h2>
<section>
<?php
$layout = houzez_option('property_form_sections');
$layout = $layout['enabled'];
if ($layout): foreach ($layout as $key=>$value) {
switch($key) {
case 'description-price':
get_template_part('location');
break;
}
}
endif;
?>
</section>
<h2>Multi-units</h2>
<section>
<?php
$layout = houzez_option('property_form_sections');
$layout = $layout['enabled'];
if ($layout): foreach ($layout as $key=>$value) {
switch($key) {
case 'description-price':
get_template_part('multi-units');
break;
}
}
endif;
?>
</section>

В первые несколько часов все шло хорошо. Теперь он возвращает ошибку.

1

Решение

Похоже, вы ожидаете вызова функции houzez_option() вернуть массив. Из ошибки может показаться, что вы получаете, что это не так. Не видя что houzez_option() Код выглядит так, что невозможно сказать, почему это не так.

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

        $layout = isset( $layout['enabled'] ) ? $layout['enabled'] : '';
if ( is_array( $layout ) ): foreach ($layout as $key=>$value) {
switch($key) {
case 'description-price':
get_template_part('features');
break;
}
}
else:
echo 'Unable to retrieve options';
endif;

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]