You'll have to hack the core.
1. Edit file db/selects.php
2. Change this part of the code in function qa_db_qs_selectspec:
$selectspec=qa_db_posts_basic_selectspec($voteuserid, $full);
$selectspec['source'].=" JOIN (SELECT postid FROM ^posts WHERE ".
into this
$selectspec = qa_db_posts_basic_selectspec($voteuserid, $full);
$hiddenCategoryIds = array(1, 2);
$hideInPages = array('', 'activity', 'questions');
if (in_array(qa_request(), $hideInPages) && !empty($hiddenCategoryIds)) {
$sql = '(^posts.categoryid NOT IN (' . implode(',', $hiddenCategoryIds) . ') OR ^posts.categoryid IS NULL) AND ';
} else {
$sql = '';
}
$selectspec['source'] .= " JOIN (SELECT postid FROM ^posts WHERE " .
$sql.
You can get the category IDs from the admin panel in the categories section. Navigate to the category you want to hide and then check the URL. It should look like this:
http://yoursite.com/admin/categories?edit=7
So 7 is the category ID. Make sure you replace the content of the array with that ID:
$hiddenCategoryIds = array(7);
The $hideInPages array controls in which pages you want to hide them. If you don't want t see them in any additional page, then uncomment (remove the // from the echo qa_request();) and navigate to that page. You will most likely text in the top left corner of the page. Just add that text to the $hideInPages array. Then comment the uncommented line again.
Note about the /activity page:
You will see the core has also these functions:
qa_db_recent_a_qs_selectspec()
qa_db_recent_c_qs_selectspec()
qa_db_recent_edit_qs_selectspec()
You'll have to perform similar edits to those functions in order to filter out all the questions (asked, answered, commented and edited). This answer just tackles the "asked" ones but fixing the rest should be trivial based on how the "asked" ones are fixed.
This is very very dirty and I wouldn't advise to hack the core that much... but it should get the work done.