Intereting Posts
Различные заголовки «Главная» и «Страницы» Как передать более переменную страницу / подстраницу в URL-адрес Wordprees? Как фильтровать customize_loaded_components из темы? Динамически писать в редакторе с помощью Javascript Не удается найти ссылку для добавления контента на страницы Таблица отображается в визуальном режиме редактора, но не в превью или после публикации Полный поиск и замена недостаточны, чтобы все снимки были загружены с помощью https Получить следующую и предыдущую страницу с разбивкой по страницам Неустранимая ошибка с темой Фильтруемый портфолио в WordPress с использованием изотопа jQuery Пользователи не могут загружать изображения на интерфейсе, если у них нет доступа к wp-серверу Неправильный идентификатор сообщения в Function.php Показать цену за метку рядом с общей ценой Изменение домена site_url разбивает ссылки на изображения Загружать файлы js / css только на определенные страницы пользовательского интерфейса администратора

WP_query возвращает ошибку при использовании для пользовательского виджета

Я работал над созданием своего первого плагина / виджета, который должен отображать действительно простой цикл, содержащий только настраиваемое поле (изображение)

Я тестировал цикл без каких-либо проблем в своей теме, но когда я помещаю цикл в свой файл плагина, он генерирует фатальную ошибку, препятствующую активации плагина b. Я действительно не понимаю, почему это происходит, поскольку цикл работает без проблем в теме.

Это цикл, который я использую:

<?php $args = array( 'posts_per_page' => 3, 'post_type' => 'sponsors', 'orderby' => 'rand', ); $the_query = new WP_Query( $args ); ?> <?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> <li> <?php $image = get_field('sponsor'); if( !empty($image) ): ?> <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> <?php endif; ?> </li> <?php endwhile; ?> <?php else : ?> <?php endif; ?> 

И это фатальная ошибка, отображаемая при активации плагина:

Ошибка анализа: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING

Я уже решил это другим способом, используя плагин PHP Code Widget, но хотел бы знать, почему я получаю эту ошибку. Если мне нужно разместить полный код плагина, дайте мне знать.

ОБНОВЛЕНИЕ: Хорошо, глядя на ошибку, это должно быть легко. Просто удалите любые пробелы или очистить строки в конце вашего файла плагина после последнего «?>».

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

Вы скопировали и ввели код здесь? Поскольку кажется, что у вас есть пробелы, которых не должно быть в строке

 <?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query- >the_post(); ?> 

Если вы удалите пробелы (например:

 <?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> 

), он должен работать.

PS: Не забудьте использовать

 <?php wp_reset_postdata(); ?> 

после

 <?php endwhile; ?> 

В противном случае это может в конечном итоге испортиться с остальной частью вашей страницы ^^

Счастливое кодирование, Kuchenundkakao