Intereting Posts
Показывать название категории и новые статьи и отображать номера страниц. Какую функцию использовать Не уверен, что лучший способ сохранить пользовательские данные плагина Допустимо ли создание функциональности в теме, созданной для клиента? Различные заголовки категорий, использующие in_category и elseif Как рандомизировать несколько «orderby» самостоятельно? Включен Javascript, но функция alert () не работает После изменения темы меню необходимо вручную связать с соответствующим расположением темы Загружать видео в пользовательскую папку Объединение тем WordPress Меню, но не по теме Как обработать обратный вызов «WP_Customize_Cropped_Image_Control»? WordPress permalink все еще не работает (ошибка или непонятная?) Как создать плагин, который уведомляет об обновлениях? Как определить, выполняется ли сценарий из плагина, темы или дочерней темы в WordPress? Как указать более одной категории?

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

Я пытаюсь показать случайный комментарий из определенных сообщений на моей домашней странице, используя решение, которое было предоставлено здесь:

https://stackoverflow.com/questions/11790239/random-comments-on-page-wordpress/11790460#11790460

Он работает, но он извлекает случайный комментарий из случайного сообщения, вместо того, чтобы выбирать пост, на который я указываю, с помощью короткого кода. Кто-нибудь знает, как это исправить?

add_shortcode( 'randomComment', 'randomComment_handler' ); function randomComment_handler($post_id) { extract( shortcode_atts( array( 'post_id' => '0', ), $atts ) ); $out = ""; $comments = get_comments("post_id=$post_id&status=approve"); if ($comments) { $ndx = mt_rand(0,sizeof($comments)) - 1; $comment = $comments[$ndx]; $out = "<div class='randomComment'><div class='randomAuthor'>".$comment->comment_author."</div><div class='randomText'>".$comment->comment_content."</div></div>"; } return $out; } 

и короткий код:

 [randomComment post_id="463"] 

Solutions Collecting From Web of "Извлеките случайный комментарий из определенного сообщения, покажите его на домашней странице с коротким кодом"

Основная проблема с фрагментом кода – это строка:

 function randomComment_handler($post_id) { 

Проверьте Codex на add_shortcode() и посмотрите, можете ли вы найти ошибку.

Спойлер : Это должно быть так:

function randomComment_handler ($ atts, $ content = NULL) {

ps : Вы также должны избегать использования extract() , вместо этого используйте $atts['post_id'] .

Далее рассмотрим добавление третьего параметра в функцию shortcode_atts() .