Let’s say you have a local instance of WordPress running on your MAMP server and for whatever reason you don’t want to develop your plugin or theme in the /wp-content/ directory.
That might be because of your git repository setup or because you want to sync your developing theme across many different versions of WordPress core for testing.
The answer (at least; if you are on mac) is to use a symlink, or a symbolic link.
A symlink is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.wikipedia
The idea is simple. You create a kind of shortcut in your wp-content directory which points to whichever directory you want to use for your theme or plugin. When WordPress does its thing it picks up the directory you’ve just added and it works.
How to create a symlink on mac (linux)
We create a symlink in the terminal. Here’s how:
unix command is
ln -s source target
source= which directory to make the link to
target= director the symlink should be saved to
the ln command creates hard links. Adding the -s means those links are symbolic
Let’s say you have a folder on your desktop called and a wordpress installation somewhere else, your command might look something like this
ln -s ~/Desktop/sweet-new-theme/ ~/Work/MAMP/wordpress-latest/wp-content/themes