quizá sea cuestión de poner paréntesis. El AND tiene prioridad sobre el OR. Prueba esto:
Código PHP:
Ver original$datos = $mysqli->query("SELECT * FROM productos WHERE (nombre LIKE '%".$buscar."%' OR meta_key LIKE '%".$buscar."%') AND activo=1 ORDER BY categoria ");