I found a problem. I had to change this:
$args = array(
'cat' => $category->name,
'posts_per_page' => 3,);
for this:
$args = array(
'category_name' => $category->name,
'posts_per_page' => 3,);
In first code I was passing category name which is string to argument expecting ID of category. Here is Codex reference where I found solution:
- category_name (string) – use category slug.
- category__and (array) – use category id.
- category__in (array) – use category id.
- category__not_in (array) – use category id.