With sedsed assuming you only have 5 columns and the column which should be quoted is column4 in your case:
sed -E 's/"//g; s/^(([^|]*\|){3})(.*)(\|[^|]*)$/\1"\3"\4/' infile
This will work even if no quotes entered by user, if entered any quotes by user or pipes.
Here is an awk solution too as requested:
$ awk -F'|' '{ for (i=1; i<NF; i++){if (i>3)gsub("\"","");
printf (i!=(NF-1))?$i"|"((i==3)?"\"":""):$i"\"|"}; print $NF}' infile
col1|col2|col3|"col4"|col5
test|test_f|21/03/2017|"|||||USER RIGHTa anything here"|123