1. Так вообще работает? То есть для начала надо ра

  1. Так вообще работает?
$notReadNews = $modx->query("SELECT COUNT(*) as count FROM read_news WHERE published = '1'")->fetchColumn();
echo $notReadNews;

То есть для начала надо разобраться выполняется запрос без условия или нет. А потом уже смотреть вариант с условием.

Но это ответ на заданный вопрос. А от меня: что за дичь с колонками под каждого пользователя?))