Intereting Posts
Хотите отобразить мой заказный архив даты на date.php, но не знаете, как wp_mail работает с add_action ('save_post', …), но не является ajax-действием Постоянная ссылка установлена ​​на /% postname% /, но все еще есть ссылки, индексированные в форме? P = x Можно ли вставить скрипт из метода виджетов (расширенного объекта WP_Widget)? Custom-Posttype & Custom таксономия WP_Query Удалить родителей из постоянной иерархической таксономии Категория Переадресация на главную страницу Может ли бесплатный плагин на сайте WordPress.org продвигать про-версию этого плагина? Почтовый запрос – показывать сообщения с указанного дня и месяца и целых лет Добавив существующий сайт подпапки к новому многоузловому в корневом, вызовет ли это проблему? Альфа-магазин-ребенок не сохраняет изменения Попытка получить класс для создания экземпляра ONCE (или «почему я продолжаю пробивать себе голову?») SEO Дружественные URL-адреса для моих категорий плагинов Как проверять зависимости для конкретной страницы и помещать их в очередь Не можем ли мы использовать строки, определенные как константы PHP, если мы хотим перевести их в плагин?

Как вводить кодовый код вручную?

Я хочу вставить функцию, которая иначе обозначается как короткий код WP. Страница не отображается полностью, когда этот код вставлен. Вот полный код, который содержит короткий код:

function vntd_blog_carousel($atts, $content = null) { extract(shortcode_atts(array( "cats" => '', "posts_nr" => '', "thumb_style" => '' ), $atts)); wp_enqueue_script('prettyPhoto', '', '', '', true); wp_enqueue_style('prettyPhoto'); wp_enqueue_script('owl-carousel', '', '', '', true); wp_enqueue_style('owl-carousel'); ob_start(); echo '<div class="vntd-portfolio-carousel blog-carousel"><div class="works white">'; $size = 'portfolio-square'; wp_reset_postdata(); $args = array( 'posts_per_page' => 6, 'cat' => 4, 'orderby' => 'slug' ); $the_query = new WP_Query($args); if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); 

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

Ваш код сильно сломан.

  1. Вы начинаете определение функции, но не завершаете ее. Для завершения функции не существует } .
  2. Вы начинаете условие if и никогда не закрываете его.
  3. Вы начинаете цикл while и никогда не закрываете его.

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

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

Кроме того, ваш Loop ничего не выдаст, так как вы не включили какой-либо код, который фактически echo информацию о сообщении. Минимальные исправления, которые вам нужны:

И вы передаете информацию категории в короткий код, но имеете категорию, закодированную в запросе. Я изменил ваши значения по умолчанию для компенсации.

 function vntd_blog_carousel($atts, $content = null) { extract(shortcode_atts(array( "cats" => 6, // default cat, if any "posts_nr" => '', "thumb_style" => '' ), $atts)); wp_enqueue_script('prettyPhoto', '', '', '', true); wp_enqueue_style('prettyPhoto'); wp_enqueue_script('owl-carousel', '', '', '', true); wp_enqueue_style('owl-carousel'); ob_start(); echo '<div class="vntd-portfolio-carousel blog-carousel"><div class="works white">'; $size = 'portfolio-square'; $args = array( 'posts_per_page' => 6, 'cat' => $cats, 'orderby' => 'slug' ); $the_query = new WP_Query($args); if ($the_query->have_posts()) { while ($the_query->have_posts()) { $the_query->the_post(); // echo some post data the_title(); the_content(); } // close the while Loop } // close the if conditional wp_reset_postdata(); // moved from before the Loop where it really wasn't doing any good return ob_get_clean(); // use the output buffer that you've created } // close the function definition. 

См. Комментарии к коду для того, что я сделал. Я также отформатировал код для удобочитаемости и удалил этот кошмарный альтернативный синтаксис управления , который хорош только для безумного создания.

Чтобы превратить все это в короткий код, вам нужно всего лишь:

 add_shortcode('vntd_blog_carousel','vntd_blog_carousel'); 

И для ручного запуска используйте:

 do_shortcode('[vntd_blog_carousel cats="2"]'); 

Я понятия не имею, что должны делать другие два атрибута shortcode.