Вывожу во вкладке ЛК комментарии, которые были оставлены пользователями к публикациям владельца личного кабинета.
создаю новую вкладку:
add_action('init','add_tab_all_comments');
function add_tab_all_comments(){
$tab_data = array(
'id'=>'all_comments_lk',
'name'=>'Комментарии',
'public'=>0,//делаем вкладку приватной
'icon'=>'fa-trophy',//указываем иконку
'output'=>'menu',//указываем область вывода
'content'=>array(
array( //массив данных первой дочерней вкладки
'callback' => array(
'name'=>'all_comments_lkab',//функция формирующая контент
)
)
)
);
rcl_tab($tab_data);
}
Далее идёт функция, которая выводит необходимые комментарии:
function all_comments_lkab(){
global $user_LK;
$args = array(
'post_author' => $user_LK,
if( $comments = get_comments( $args ) ){
foreach( $comments as $comment ){
echo ($comment->comment_author.'<br />'.$comment->comment_date.'<br />'.$comment->comment_content);} }
}
Дело в том, что при выводе через "echo" комментарии выводятся во всех вкладках ЛК, а через "return" выводится только один комментарий.
На данном форуме нашёл похожую тему , там говорится о конкатенации строк и пример приводится с учётом того, что уже склеивается известное количество строк. Но в моём случае количество комментариев постоянно растёт и как их правильно вывести в ЛК не представляю.
и пример приводится с учётом того, что уже склеивается известное количество строк.
- вы говорите о новом в мире конкатенации.
Какая разница - известно сколько строк или нет.
Приведите свой пример конкатенации
if( $comments = get_comments( $args ) ){
foreach( $comments as $comment ){
$out .= ($comment->comment_author.'<br />'.$comment->comment_date.'<br />'.$comment->comment_content);} }
}
return $out;
p.s. три строчки скопировал как есть. Синтаксис сами правьте. Суть конкатенации я вам показал