I've got it working. Thanks Linda.
I changed this code:
Code:
$where_str = " WHERE (p.products_status = 1
AND p.products_id = pd.products_id
AND pd.language_id = :languagesID
AND p.products_id = p2c.products_id
AND p2c.categories_id = c.categories_id ";
to:
Code:
$where_str = " WHERE (p.products_status = 1
AND p.products_type != 3
AND p.products_id = pd.products_id
AND pd.language_id = :languagesID
AND p.products_id = p2c.products_id
AND p2c.categories_id = c.categories_id ";
This now excludes documents from the search results.
My store does not have product subcategories.
You might have to add extra code if yours does.