Приветствую всех! Нужна помощь, не могу понять работу ленты...
Я подписался на троих пользователей, но в ленте активности 4 пользователя, как бы один лишний, я не подписан на его обновления.
Как работает лента, и как настроить чтобы получать обновления строго от тех на кого подписался?
Спасибо!
Здравствуйте.
Тему перенес - у каждого допа своя ветка на форуме. Попасть на нее можно из описания дополнения.
Milano сказал(а)
Как работает лента
- Описание дополнения
Итак:
Новости формируются из публикаций различных типов записей со статусом publish тех пользователей, на которых оформлена подписка, а также из публикаций которые эти пользователи получают от пользователей на которых подписаны они сами, т.е. мы имеем двухуровневый порядок формирования новостной ленты.
Milano сказал(а)
как настроить чтобы получать обновления строго от тех на кого подписался?
- Похожая тема на форуме поддержки этого дополнения
Спасибо что перенесли, искал перед созданием темы, но видимо плохо искал.
Я воспользовался решением с форума поддержки плагина который вы дали.
Вот решение:
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
Я бы задал вопрос в той теме, но она закрыта.
Не подскажите как решить эти ошибки? Или перенести мое сообщение в ту тему?
Спасибо!
Milano сказал(а)
Но если я не подписан на пользователя, то в ленте две ошибки базы данных
давайте полную выписку ошибки - я не вижу откуда она идет. Не нужно логи обрезать.
Но могу с уверенностью сказать - это ошибка возникает не из-за вставки этого сниппета. Я проверил его - он работает и в логах не выдает ошибки. У меня в логах чисто.
Я не вижу номер строки и имя таблицы бд где возникает ваша ошибка. Поэтому предположил что вы ее обрезали.
Ошибки находятся в логах ошибок вашего вебсервера. Где он у вас находится - уточняйте у хостеров.
Как мне повторить этот момент с выводом ошибки? порядок действий и на какой странице возникает? Я с этим сниппетом данную ошибку бд у себя не вижу - ее нет на странице фида. А фид показывает мне только тех на кого я подписан. Т.е. все функционирует как вы и просили.
Буду искать файл лога...
Порядок действия очень просто.
1. было две подписки на других юзеров.
2. устанавливаю сниппет
(все хорошо, все работает)
3. отписываюсь от этих двух юзеров.
4. захочу в Фид и там две этих ошибки.
Но, ниже ошибок есть фильтр сортировки обновлений пользователей, и ниже пишет No news found. Как бы все работает...
Только ошибки висят, отключить думаю можно, но хочется убрать эти ошибки бд
В config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );
Повторил. да - если нет подписок - в логи пишется.
Но это не критичная ошибка (ошибка синтаксиса) - просто отключите режим отладки в настройках. В логах что пишется - посторонние не увидят
Полный лог:
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,