Hey Frank, I guess the best question to ask you after all this is how comfortable are you with digging into or working with html, css and basic php?
If a pre made theme is what your looking for, how comfortable are you with taking hours and days looking thru theme demos to find your golden pony or at least making child themes or customizing code?
And then to answer you more specifically to your “How long would it take to develop a theme like the one I described?” , I guess that just depends really. Over the years I have accumulated many libraries of code and theme snippets and I know where everything is in WP/BP core and template files. So for me, A fully custom and dressed out theme might take anywhere from 3 days to 3 weeks if I know exactly what I am working towards at the beginning and have a clear, though out, planned out idea. If I hen peck it or free hand it” like I do from time to time” It may take a day or it might take 8 months, lol.
As a bit of comfort to your quandary, everything you asked for in your opening inquiry is all ready done for you in BuddyPress “for the most part”. A theme like the one you describe sounds like a 3 day to 1 week job to me. Keep in mind however that with me saying that, things always have a way changing and evolving into monsters, lol.
So lets break down your theme and see how it look on paper…. He He, my favorite part…
1. I want users to come to my site, register, and log in…… (Its all ready there) just have to set it up to your liking. It can all be customized quite a bit as well.
2. I would love to be able to customize the way these pages look!(background image, logo, and content inside them)……… (The logo, background and most of the design items are easy breezy as long as your ok with basic html and css and not looking for flying dragons and wizards shooting lightning bolts across the screen. Alas, even those can be done with css, flash and JS, lol. )
3. I’m not looking for a full-blown social media site (yet)…….No need to have what you dont want to use. BP has a full host of controls to limit what can be done onsite by users or what is implemented frontend in its settings. WP Dash/settings/buddypress. Select what you want to use. You also have the ability to write functions, and use hooks and actions and filters to limit or build on anything you like.
4. I want to build a site that where users can log in, create a “blog” excerpt with media …… There are several ways to do this in buddypress, just have to plan it out and test the methods and see what works for you. Mu, Activity and Groups/Forums.
5. They should also be able to put a location tag on it. ….. it sounds like this is what x-profile fields are good for. Just create your custom location field and add it with a template tag in the loop you want to use it in. They fill out the filed on their profile page and it will display in that loop.
6. When they post it, the only people I want to see that are the people they added as friends or if they have their profile set to public……BuddyPress frontend “user profile area” has a settings tab, under it are quite a few privacy features, not fully comprehensive in my opinion but there are a few plugins that add on to this and you can code it in as well. either way. Easy task.
7. And when it shows up on their friend’s news feed it should just show a featured image, title, and the beginning of their text with a like counter….. Easy enough, just write the loop that way, lol. Easy to do.
8. When their friends click on that post it brings them to the full blog post, not just the featured image. Their friends can favorite the content or comment on it. …..The natural behavior of WP and BP posts so we are good there.
9. On a users profile, I would like to show their recent posts, and posts they’ve favorited…. Thats what the friends tab shows but you can add custom queries, and stuff and otherwise tear it apart and pick it of the pieces you want and use them in other places to make custom loops and queries and all kinds of goodness, lol. As long as you make sure things are firing in the right places and make sure certain things are in the loops where they belong, No worries.
10. Site homepage is basically just a file called front-page.php. Copy the page.php from the theme root and then customize the heck out it. Work it up however you like.
As far as the themes go, I never use premade themes. I do however make full use of the libraries of code I have accumulated, (_s) and bootstrap for a lot of my work. Cheesy I know but hey, it saves me time and money and gives me freedom. I rarely find the need to actually make a complete custom theme or write much in the way of custom code from scratch anymore. And I certainly never purchase any themes. So I am not the best person to ask about themes really. I know that there are tons of themes that do all kinds of stuff available around the web. Just have to give them the litmus test and see if they fit your project.
Let me know if you have any other questions or what have you. I will be around.