greggfranklin
  • 0
Новичок

Шорткод не отображает HTML внутри функции

  • 0

Я работаю над функцией, которая отображает всех авторов, но, похоже, я делаю что-то не так, HTML внутри не отображается, пока нижняя часть страницы не отделится от вывода.

/* Add shortcode to display authors */
function all_authors() {
global $wpdb;

$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users where ID not in(1)");

$retval = '<div id="author_list"><ul>';
foreach($authors as $author) {
$retval .= '<li>';
if(userphoto_exists($author->ID))
    echo userphoto($author->ID);
else
$retval .= get_avatar($author->ID, 96);
$retval .= '<h6>'.the_author_meta('display_name', $author->ID).', '.the_author_meta('tagline', $author->ID);
$retval .= '</h6><p>'.the_author_meta('description', $author->ID).'</p><p><strong>'.the_author_meta('phone', $author->ID);
$retval .= ' | <a href="'.the_author_meta('user_url', $author->ID).'" target="_blank">'.the_author_meta('user_url', $author->ID).'</a></strong></p></li>';
}
$retval .= '</ul></div>';
return $retval;
}

add_shortcode('myauthorbox', 'all_authors');
Share
  1. Где вы инициируете функцию? Он загружается на этапе настройки темы, после или до?

    • 0
  2. the_author_meta() это функция отображения, она выводит результат на экран прямо там, где она вызывается. Для конкатенации со строкой вам нужно использовать функцию, которая возвращает результат — get_the_author_meta() .

    • 0

Оставить ответ

You must login to add an answer.