On my first day working at WebDevStudios, Greg Rickaby told me that one of the best things about working here is that I would constantly be getting to learn new technologies. He wasn’t lying.
In my second week, I was tasked with creating a custom profile page for BuddyPress users. No problem, right? Wrong.
Up to this point, I had never used BuddyPress in any way, let alone customize it.
Lucky for me, there are a lot of awesome people who work at WDS who are all about helping each other, even the new guy.
In this post, I want to share with you what I have learned about creating custom templates for BP. I will provide an overview of how you can customize BP out-of-the-box, and then show you how we do it here at WDS using the BP Project Framework plugin.
This is not the ‘be all, end all’ of BP templating, but more of a brief look at it through the eyes of someone who is also in the process of learning!
This year, WordCamp Orange County (coming up on June 6th and 7th) is doing something a little different. Plugin-a-Palooza a plugin-building hackathon/competition that they first announced back in February. The rules are pretty simple: pitch a plugin idea, get it approved, write a plugin, submit it by a specific time, make sure it’s GPL, and then talk about it.
I volunteered to help Suzette Franck build out a plugin to submit to Plugin-a-Palooza that would let artists easily sell their work from their website without having to do a lot of technical inventory management stuff.
The result is WP Art Store, and you can check it out on WordPress.org or GitHub. The plugin is a fairly simple custom post type plugin that adds a new post type for works of art along with several ways of grouping those art works together–by medium, by theme or subject, or by technique.
Most front-end developers glaze over at the mention of the word. However, having a strong grasp of how CSS Specificity works is key to minimizing tedious debugging. Specificity tells the browser what rules to apply to an element, and if there is a conflict then the higher priority wins.
Let’s look at some simple examples, and put this concept into context.
Please join us in welcoming our new dev, Zach Owen, to the team!
Here’s a little bit about Zach:
Zach started working heavily in WordPress almost five years ago when he started with a content agency, and he was thrown head-first into a fresh project for a major client. Before that, he had worked in custom frameworks or no framework at all, and while he wasn’t a big fan of WordPress at the start, he is now really into the ways in which WordPress can be used to create more than just blogs. He has recently started giving back to the open source community and supporting one of my favorite projects. He plans to start contributing back to the WordPress community as well.
Zach is an avid video gamer, married, and lives in North Carolina. He has dogs and cats (three each) that are his current “children.” He has been programming since middle school. He grew up at the beach but moved to the hillier parts of NC ten years ago for school and never left.
You can follow him @znowebdev, and you bet you’ll be seeing him dropping knowledge around these parts!
The WDS team is still growing! Want to join us? Check out our jobs page for available positions and information on how to apply!
I am no stranger to contributing to open source. I have contributed in some way or another since early 2007, when I found a love for Linux and the Fedora Project. I was approaching the end of my time in college, and later in the year I joined the Fedora Art Team and teethed my contributing bug by helping create and provide graphics for upcoming releases of the operating system.
I have since evolved and moved on to other open source projects–specifically our beloved WordPress. While I was not active on a weekly basis, where I was creating tickets and patches constantly, I was staying aware of what was going on and current developments. I contributed when I could. One place that I was especially active was the support rooms on IRC.
Over time, I started to get an itch to do more. I wanted to contribute to the code of something. The WordPress core team had decided to improve its inline documentation, especially in the areas of available hooks and filters. Drew Jaynes and others spearheaded this effort and took the initiative of going through the codebase and providing documentation on every available hook. At this point, it dawned on me that this would be an awesome way to contribute back, but I needed a different codebase that needed the same tender loving care. Enter BuddyPress.
A few weeks ago, we did our monthly non-profit spotlight featuring Happy Joe, an amazing non-profit that provides job training and opportunities to veterans in an effort to combat the employment struggles that many of our nation’s vets experience after their service. It was an honor for them to take the time to let us feature them, and now, we’re proud to say we’re taking it a step further: WebDevStudios is becoming a Hero Partner with Happy Joe!
What does that mean?
It means that we’re going to be putting our money where our mouth is, and taking our support beyond the blog by financially backing Happy Joe. As I said in the non-profit spotlight, our team is made up of veterans and family members of veterans, so the issue is close to the heart of WDS. We want to give our support back to those who gave their service and are still in need, and we believe that Happy Joe is doing incredible work that will make that happen.
Wait, that’s not all!
Happy Joe is hosting WP BootCamps, classes that teach crucial business know-how and WordPress savvy, across the US, and our executive team is going to be volunteering their time to jump in! They will be serving as teachers and mentors to the veterans who attend the events, and will be joining the rest of the Happy Joe WP BootCamp team to help students advance their skills and successfully transition into a new industry that needs well-trained, hard-working, intelligent folks.
We couldn’t be more excited to be a Hero Partner, and we hope that you’ll join us in supporting Happy Joe and their admirable efforts to serve those who have served.
Lately, I’ve been thinking that our current method of using inline media queries throughout our Sass partials has not been flexible enough for the projects we’ve been building. While it was simple and allowed for easy implementation, I think it is time to try yet another Sass library–specifically include-media.
Eduardo Bouças, developer of include-media, states on the website:
“include-media is a Sass library for writing CSS media queries in an easy and maintainable way, using a natural and simplistic syntax.”
You read it right! The WebDevStudios and Maintainn teams are continuing to expand, and we need YOUR help!
Maybe you’ve gotten to know some of us through meeting us at events, through Twitter, through here on our blog, or heck, maybe you’ve worked with some of our folks through previous/independent collaborations. If we have had the pleasure of meeting, you already know that the folks on the WDS team are a rambunctious, hard-working, clever bunch (if we may say so ourselves), and we’re looking to add people to the mix.
BuddyPress has default components that add extra social functionality to a WordPress install. Sometimes you will want to customize what each component displays and that is done through loop filtering. Continue reading if you want to learn more about customizing the output of BuddyPress loops.
- Activity Streams
- Extended Profiles
- Private Messaging
- Friend connections
- Account Settings
- Blogs component (multi-site activated)
The lists of content in these components are displayed using loops. BuddyPress loops are very similar to WordPress post loops. The loops can be manipulated by passing arguments the same as you would do to alter the returned posts in WordPress post loop.
<?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) ) ) : ?>
<?php while ( bp_activities() ) : bp_the_activity(); ?>
<?php locate_template( array( 'activity/entry.php' ), true, false ); ?>
<?php endwhile; ?>
<?php endif; ?>
A couple weeks ago, one of @WebDevStudios‘ followers on Twitter sent us this:
That got us talking and thinking about what a typical day for a WDSer looks like. I love reading fluff posts like this, and as I’ve been around long enough to get in the swing of things while still being relatively new, comparatively (about six months as of this post), I figured I’d write one.