Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Дублируются посты в личном кабинете (добавлял через шорткод)
8ответ(ов) в теме
vasiliy.petrov
не в сети 7 лет
На сайте с 21.03.2017
Участник
Тем 44
Сообщения 151
1
18:29

Создал вкладку в ЛК, добавил шорткод:

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, имени, пароля и тд) будет в центре, посты (которые выводятся через шорткод) сверху над полями профиля, а содержание этих же постов под серой линией.

Посты появляются в других вкладках только после того, как зайдешь в мою вкладку.

0
vasiliy.petrov
не в сети 7 лет
На сайте с 21.03.2017
Участник
Тем 44
Сообщения 151
2
19:05

Может надо добавить условие, если это моя вкладка, то показывать посты, иначе — не показывать. Тогда как указать в условии "мою вкладку"? Но, содержание постов все равно будет добавляться под серую линию.

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
3
19:06

ale_part('postpreviewlk' ); - что в ней? Вывод через echo? Выводите через return

0
vasiliy.petrov
не в сети 7 лет
На сайте с 21.03.2017
Участник
Тем 44
Сообщения 151
4
19:16

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>

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
5
19:27

Похожая проблема разбиралась тут

Вы не можете просматривать опубликованные ссылки

и здесь

Вы не можете просматривать опубликованные ссылки

Или переписывайте все на ретурн, а не эхо, или загоняйте в буфер

0
vasiliy.petrov
не в сети 7 лет
На сайте с 21.03.2017
Участник
Тем 44
Сообщения 151
6
20:10

Пробовал по-разному: тыкал ob_start и тд во все файлы (в функцию ale_part, в postpreview, в шорткод) и результат не радует — во всех случаях под серой линией остаются содержания постов, а самих постов нет...

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
7
20:57

Просто видно что это вы выдрали откуда-то. Найдите нормальное решение и нормальный шорткод.
Как писал в другой теме - есть уже такие плагины которые уже в шорткоде позволяют выводить нужные записи по категориям - просто передав в шорткод нужные атрибуты.. Возьмите готовое решение

0
vasiliy.petrov
не в сети 7 лет
На сайте с 21.03.2017
Участник
Тем 44
Сообщения 151
8
21:25

Сам писал... Ладно, поищем плагин

0
Тема закрыта. Публикация новых сообщений запрещена.