Intereting Posts
Сортировать результаты без WP_QUERY? Пользовательская страница Тип страницы не работает на странице архива WordPress неожиданно изменил все ссылки на example.com/example.com/ <Content> WordPress / users / me запрещен запрос конечной точки Загрузка страниц и сообщений в качестве индексной страницы? Не загружать контент Поиск решения для управления фотографиями Как заменить текст «Защищенный паролем» на значок в Admin Список подкатегорий на странице таксономии Где хранятся параметры темы и я могу экспортировать их для импорта в недавно установленные темы? Есть ли разница между ниже фрагментами кода WP_Query? Перенаправление простой большой проблемы Можно ли добавить пользовательскую бизнес-логику на страницу редактирования пользовательского почтового администратора? Сортировка сообщений последним измененным Запросить сообщения из разных категорий в многопользовательском режиме Пользовательские статусы типа сообщения

Запуск PHP-результатов внутри WP Shortcode

Как я могу привести приведенные ниже результаты в короткий код WP?

PHP-результаты:

<?php function endsWith($haystack, $needle) { // search forward starting from end minus needle length characters return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== FALSE); } $lastDate = date('Ym-d', strtotime('today - 30 days')); $todayDate = date('Ym-d'); $results = $wpdb->get_results( "SELECT * FROM `ucsite_statistics_pages` WHERE id=1428 AND `date` BETWEEN '$lastDate' AND '$todayDate' ", ARRAY_A ); for($i=0;$i<count($results);$i++) if (endsWith(get_site_url().''.$results[$i]['uri'], 'http://universitycompare.com/universities/the-uni-of-westminster/')) { echo $results[$i]['count']; echo ',<br />'; } ?> 

Как вставить вышеуказанные «если результаты», которые повторяются в нижнем коротком коде?

 <?php echo do_shortcode('[wp_charts title="linechart" canvaswidth="976px" canvasheight="244px" relativewidth="4" width="976px" height="244px" type="line" align="alignright" datasets=" { data to be here } "]'); ?> 

Если я правильно понял, у вас есть wp_charts который принимает наборы datasets pramaeter, и вы хотите создать новый короткий код, который запускает запрос базы данных и встраивает результаты запроса в качестве значения datasets ?

Если это так, есть несколько способов сделать это, но я думаю, что самый простой – особенно если вы сами не писали wp_charts – это создать новый wp_charts который запускает запрос, а затем вызывает wp_charts .

Например:

 function my_charts_with_data_shortcode_impl($atts, $content = null) { $sql_query = ... $results = $wpdb->get_results($sql_query, ARRAY_A ); $datasets = []; foreach ($results as $row) { if (endsWith(get_site_url().''.$row['uri'], 'http://universitycompare.com/universities/the-uni-of-westminster/')) { $datasets[] = $row['count']; } } return do_shortcode('[wp_charts '. 'title="linechart" canvaswidth="976px" canvasheight="244px" relativewidth="4" '. 'width="976px" height="244px" type="line" align="alignright" '. 'datasets="'. join(",",$datasets) . '"]'); }