Создал вкладку в ЛК, добавил шорткод:
function test() {
global $user_LK;
$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$params = array(
'posts_per_page' => 6,
'category_name' => 'test',
'paged' => $current_page,
'author' => $user_LK
);
query_posts($params);
$wp_query->is_archive = true;
$wp_query->is_home = false;
while(have_posts()): the_post();
ale_part('postpreviewlk' );
endwhile;
}
add_shortcode('test', 'test');
Во вкладке все работает нормально: выводит записи пользователя из определенной категории, но эти посты выводятся во всех вкладках, еще их содержание почему-то выводится под серой полосой, хотя я вывожу только заголовок, число комментов и дату.
Если перейти на другую вкладку, например, "Профиль", то содержимое профиля (настройки email, имени, пароля и тд) будет в центре, посты (которые выводятся через шорткод) сверху над полями профиля, а содержание этих же постов под серой линией.
Посты появляются в других вкладках только после того, как зайдешь в мою вкладку.
ale_part:
/**
* Get template part
*
* @param string $slug
* @param string $name
*/
function ale_part($slug, $name = null) {
get_template_part('partials/' . $slug, $name);
}
postpreviewlk:
<div class="wrap">
<div class="item">
<div class="post_name"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
<div class="meta">
<div class="comments"><a href="<?php comments_link(); ?>"><?php comments_number(); ?></a></div>
<div class="date"><?php echo get_the_date(); ?></div>
</div>
</div>
</div>
Просто видно что это вы выдрали откуда-то. Найдите нормальное решение и нормальный шорткод.
Как писал в другой теме - есть уже такие плагины которые уже в шорткоде позволяют выводить нужные записи по категориям - просто передав в шорткод нужные атрибуты.. Возьмите готовое решение