Depth issues with a shader

Hi! I am using the shader below to render objects in the scene, but having depth issues with the objects even when Transparent tag is added. This is not a clipping plane issue either.

Shader "VertexColor Transparent Specular" {
Properties {
	_Shininess ("Shininess", Range (0.03, 1)) = 0.078125
	_SpecularColor("_SpecularColor", Color) = (1,1,1,0)
	_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
	_GlossColor ("_GlossColor", Color) = (1,1,1,0)
}
SubShader { 
	Tags { "Queue"="Transparent" }
	ZWrite On
	Alphatest Greater 0
	Blend SrcAlpha OneMinusSrcAlpha
	ColorMask RGB
	LOD 250
	
CGPROGRAM
#pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd alpha
half4 _GlossColor;
half4 _SpecularColor;

inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten)
{
	fixed diff = max (0, dot (s.Normal, lightDir));
	fixed nh = max (0, dot (s.Normal, halfDir));
	fixed spec = pow (nh, s.Specular*128) * _GlossColor;
	
	fixed4 c;
	c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec * _SpecularColor.rgb) * (atten*2);
	c.a = 0.0;
	return c;
}

sampler2D _MainTex;
half _Shininess;

struct Input {
	float2 uv_MainTex;
	float4 color : COLOR;
};

void surf (Input IN, inout SurfaceOutput o) {
	fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);
	o.Albedo = tex.rgb * IN.color.rgb;
	o.Alpha = IN.color.a;
	o.Specular = _Shininess;
}
ENDCG
}

FallBack "Mobile/VertexLit"
}

it’s a wrong way to write to z-buffer in transparent shader. z-buffer will disable any other renders behind it even if you object is transparent