This may only be part of the problem. That is quite a bit of code to read (and you should post relevant code inline so that the question is not dependent on an external site) and your description is a bit hard to follow, but…
You should not be using a secondary query at all (I am pretty sure) and you certainly should not be using query_posts
to do it.
It should be noted that using this to replace the main query on a page
can increase page loading times, in worst case scenarios more than
doubling the amount of work needed or more. While easy to use, the
function is also prone to confusion and problems later on. See the
note further below on caveats for details.http://codex.wordpress.org/Function_Reference/query_posts (emphasis mine)
I think that you need a filter on pre_get_posts
. Something like this:
function one_cat_front_wpse_110327($qry) {
if (is_front_page() && $qry->is_main_query()) {
$qry->set('cat',123);
}
return $qry;
}
add_filter('pre_get_posts','one_cat_front_wpse_110327');
That should restrict the results to category 123. Obviously, change that to the correct category.