11 ответ(ов) в теме
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
1
00:17

Приветствую всех! Нужна помощь, не могу понять работу ленты...
Я подписался на троих пользователей, но в ленте активности 4 пользователя, как бы один лишний, я не подписан на его обновления.
Как работает лента, и как настроить чтобы получать обновления строго от тех на кого подписался?
Спасибо!

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 26
Сообщения 12408
2
00:23

Здравствуйте.

Тему перенес - у каждого допа своя ветка на форуме. Попасть на нее можно из описания дополнения.

Milano сказал(а)
Как работает лента

- Описание дополнения

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

Итак:

Новости формируются из публикаций различных типов записей со статусом publish тех пользователей, на которых оформлена подписка, а также из публикаций которые эти пользователи получают от пользователей на которых подписаны они сами, т.е. мы имеем двухуровневый порядок формирования новостной ленты.

Milano сказал(а)
как настроить чтобы получать обновления строго от тех на кого подписался?

- Похожая тема на форуме поддержки этого дополнения

Вы не можете просматривать опубликованные ссылки
0
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
3
01:29

Спасибо что перенесли, искал перед созданием темы, но видимо плохо искал.
Я воспользовался решением с форума поддержки плагина который вы дали.

Вот решение:

add_action('rcl_feed_posts_args','edit_feed_posts_args');
function edit_feed_posts_args($args){
	global $user_ID;
	
	$feeds = new Rcl_Feed_Query();

	$authors_feed = array();
	
	$usersFeed = $feeds->get_col(array(
		'feed_type' => 'author',
		'user_id' => $user_ID,
		'feed_status' => 1,
		'fields' => array('object_id')
	));
	
	if(!$usersFeed) return array();
	
	$args['post_author__in'] = $usersFeed;
	
	return $args;
}

Но если я не подписан на пользователя, то в ленте две ошибки базы данных

WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') FROM AS' at line 1] SELECT COUNT(.) FROM AS WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM AS ORDER BY . DESC LIMIT 0,30' at line 1] SELECT .* FROM AS ORDER BY . DESC LIMIT 0,30

Я бы задал вопрос в той теме, но она закрыта.
Не подскажите как решить эти ошибки? Или перенести мое сообщение в ту тему?
Спасибо!

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 26
Сообщения 12408
4
09:40

Milano сказал(а)
Но если я не подписан на пользователя, то в ленте две ошибки базы данных

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

Но могу с уверенностью сказать - это ошибка возникает не из-за вставки этого сниппета. Я проверил его - он работает и в логах не выдает ошибки. У меня в логах чисто.

0
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
5
11:35

Я ничего не обрезал, как есть так и скопировал сюда... Сниппет вставил в functions.php темы wp.
Подскажите как увидеть полную ошибку чтобы скопировать ее сюда?

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 26
Сообщения 12408
6
11:43

Я не вижу номер строки и имя таблицы бд где возникает ваша ошибка. Поэтому предположил что вы ее обрезали.

Ошибки находятся в логах ошибок вашего вебсервера. Где он у вас находится - уточняйте у хостеров.

Как мне повторить этот момент с выводом ошибки? порядок действий и на какой странице возникает? Я с этим сниппетом данную ошибку бд у себя не вижу - ее нет на странице фида. А фид показывает мне только тех на кого я подписан. Т.е. все функционирует как вы и просили.

0
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
7
14:55

Буду искать файл лога...

Порядок действия очень просто.
1. было две подписки на других юзеров.
2. устанавливаю сниппет
(все хорошо, все работает)
3. отписываюсь от этих двух юзеров.
4. захочу в Фид и там две этих ошибки.

Но, ниже ошибок есть фильтр сортировки обновлений пользователей, и ниже пишет No news found. Как бы все работает...
Только ошибки висят, отключить думаю можно, но хочется убрать эти ошибки бд

В config.php
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true );

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 26
Сообщения 12408
8
15:15

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

Полный лог:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM  AS  WHERE (wp_posts.ID IN (321,323,391,393,395,397,399,401,479,489,1043,' at line 1 в ответ на запрос SELECT .* FROM  AS  WHERE (wp_posts.ID IN (321,323,391,393,395,397,399,401,479,489,1043,1074,1398,1623,1641,1669,1675,2013,2014,2025,2147,2229,2431,2887,2888,420,2152) AND wp_posts.post_author NOT IN (3)) ORDER BY . DESC LIMIT 0,30, выполненный require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/point/page.php'), the_content, apply_filters('the_content'), WP_Hook->apply_filters, do_shortcode, preg_replace_callback, do_shortcode_tag, rcl_get_feed_list, Rcl_Feed_List->get_feed, Rcl_Query->get_data,

0
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
9
15:50

То есть, как я понял, эта ошибка не вызовет в дальнейшем других более фатальных ошибок?

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 26
Сообщения 12408
10
16:03

Все верно - mysql просто сообщает что в этом случае присутствует ошибка синтаксиса. Но все равно она возвращает результат - в данном случае выводит все верно - "новостей нет"

0
Milano
не в сети 7 месяцев
На сайте с 09.04.2018
Участник
Тем 10
Сообщения 42
11
16:04

Вот и чудно, спасибо вам за помощь. Хорошего дня )

1
Вы не имеете права на публикацию сообщений в этой теме