I’m developing my own WordPress theme that I’m going to use for multiple clients. It has a Theme Options-page so I can easily customize the website every time, but I will also be using some plugins on every website I make (like an SEO-plugin, security, …).
Is there a way to make them ‘required’ so I get a list of these plugins so I don’t have to go find them in the plugins directory when I install the theme on a new website?
One way is to use TGM, as Bhupen already mentioned.
But if you want to do it in a cleaner, more “wordpressy” way, then you can:
1. Use, but don’t require
You can write your theme in such way, that it doesn’t require given plugins, but it uses them if they’re available.
Good example of such approach is usage of WP-PageNavi plugin. You can check if this plugin is available and use it for pagination. But if it’s not available, you can use native WP functions.
This way you give your user choice if he want’s to use given plugin. Sometimes it’s very important due to some conflicts, and so on.
2. Notify admin which plugins are recommended
And if you want to make it easier for you/user to install all recommended plugins, you can add some admin notice that will contain a list of recommended plugins. But please remember to allow to hide such notice.