"execute if block" doesnt seem to work

ive got a datapack im making thats supposed to automatically plant any dropped seeds. Currently, i've got a single execute command running in the tick function thats supposed to place wheat when a wheat seed item is on top of farmland. when i get rid of the "if block" part it works, but when its there it doesnt work.

tick.mcfunction:

execute as @e[type=item, nbt={Item:{id:"minecraft:wheat_seeds", count:1}}] if block ~ ~ ~ minecraft:air if block ~ ~-1 ~ minecraft:farmland run function dropseeds:plant_seed

plant_seed.mcfunction:

execute at @s run setblock ~ ~ ~ minecraft:wheat
kill @s
Continue to help post