BTW, I tried foldermount and it failed because it didn't fix permissions
And link2SD didn't even try moving the WhatsApp media
Here we go: (commands run from adb, could use terminal):
First, move your WhatsApp content to the sd card. (I moved /data/media/0/WhatsApp/* to /data/sdext2/WhatsApp/)
Now fix permissions (and ownership)
chown -R root:root /data/sdext2/WhatsApp chmod -Rv 777 /data/sdext2WhatsApp
mount -o bind /data/sdext2/WhatsApp /data/media/0/WhatsApp
/data/sdext2 is a mounted external sdcard. This means that the folder is accessible. Makes sense since you just created /data/sdext2/WhatsApp to move the WhatsApp media into there.
/data/media/0/WhatsApp is the WhatsApp folder It is the original location of the WhatsApp media and MUST EXIST check its permissions, too, btw, just in case. Always try the real location ignore /storage/emulated/0/WhatsApp or any other symlink or emulated
Now restart whatsapp and test. Working means you can access your downloaded pictures and you can download new ones. Either that or, In which way is it not working?
If it works ok, make the code line which mounts the folder to be run on startup. I pasted it in my /system/etc/init.d folder because my rom supports it. If you are following this guide, you probably know how to make code run on startup.
It is so easy, why are people installing apps or frameworks for something SO FREAKIN' EASY!?
BTW, whatsapp couldn't use symlink. That's why I had to use a foldermount.
tested on: lollipop 5.0, samsung i9500, halcyon rom and kernel