Updates to Sharedaddy Tutorials (Now with More Jetpack!)

I just updated my two tutorial posts on adding custom sharing services to Sharedaddy, which is now bundled with Jetpack for WordPress:

These are by far the most popular posts here, so I thought I should give them some long overdue attention.

I’ve added the missing variables and have added Tumblr as a sharing service to the list. This weekend I hope to go through the rest of the requests and add them into the post, as well as clean up some of the markup, which doesn’t play as nice with my new theme so it looks kind of ugly right now.

A New Post Type… New Problems

Today’s been busy enough that I haven’t had the opportunity to put up some new work on it, but over the weekend, I was able to whip up the code to put together the custom post type I’d like to use for podcasts. (My original post on the project is here.)

My guides for this were the well-exampled Codex entry, Justin Tadlock’s posts on the matter, and Konstantin Kovshenin’s excellent posts as well. My code is structured after the example in the Codex with a little bit of experimentation:

# Let's get things started and fire up the custom post type for Podcasts.
add_action('init', 'simple_podcast_init');
function simple_podcast_init()
{
	$labels = array(
		'name' => _x('Podcasts', 'post type general name'),
		'singular_name' => _x('Podcast', 'post type singular name'),
		'add_new' => _x('Add New', 'podcast'),
		'add_new_item' => __('Add New Podcast'),
		'edit_item' => __('Edit Podcast'),
		'new_item' => __('New Podcast'),
		'view_item' => __('View Podcast'),
		'search_items' => __('Search Podcasts'),
		'not_found' => __('No podcasts found'),
		'not_found_in_trash' => __('No podcasts found in Trash'),
		'parent_item_colon' => ''
	);
	$args = array(
		'labels' => $labels,
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true,
		'query_var' => true,
		'capability_type' => 'post',
		'taxonomies' => array('post_tag', 'category'),
		'hierarchical' => false,
		'menu_position' => 5,
		'supports' => array('title','editor','author','thumbnail','excerpt','comments','revisions')
	);
	register_post_type('podcast',$args);
}

This successfully registers the custom post type and its behaviors (though I’m not certain I like the taxonomies and may need to move to something else in the future), but there remains a problem: upon activating the plugin, any attempt to view a podcast results in a 404 from the permalink.

I’ve seen references elsewhere to flushing the rewrite rules, but it’s not clear to me where in the process this should go or how it’s supposed to be called. My understanding is that I don’t want to do that every time the plugin initializes, because that’s not being a good steward of server resources. (Of course, if I visit the panel at Settings > Permalinks, everything works just like it should.)

Unfortunately, I’ve not yet seen an example of code that would properly reset the rewrite rules when this is turned on. Here’s what I tried and failed with:

# Because we're adding a rewrite, we need to flush the rules on activation.
	function simple_podcast_flush_rules()
{
		global $wp_rewrite;
		$wp_rewrite->flush_rules();
}
register_activation_hook( __FILE__ , 'simple_podcast_flush_rules' );

Does anyone reading this have a suggestion for where I might be going wrong? I eventually had to step back from it and won’t get a chance to try again until later.

Playing more with custom post types has also revealed a small flaw in my designs: the podcasts won’t “mesh” with the regular posts on the blog. Their taxonomies (as far as I can tell) can’t be shared, and the podcasts won’t display in the main feed of the blog, either.

Then again, this may or may not be a concern, depending on how one would structure the site.

The Making of WordPress for iPad

An awesome write-up on how the brand-new, released-on-launch-day iPhone app came to be from Raanan:

Back in late February I met up with Raven Zachary and his team from Small Society as well as our own Matt Mullenweg, to figure out if we could get an iPad app for WordPress ready in less than 30 days.

The team at Automattic pulled it off, and iPad users will be rocking the official WordPress app starting tomorrow morning. Check out the full post, which includes one of WordPress.com’s fancy new slideshows, and this shot of the plan behind the app:

So cool.

Notes for "Is WordPress Killing Web Design?"

Moderated by Dan Oliver

Panel: Jina Bolton designer @ crush+lovely; Brendan Dawes, Creative Director @ magneticNorth; Dan Mall, Senior Designer @ Big Spaceship; Shane Mielke, Creative Director @ 2Advanced

Abstract: Is WordPress killing web design? Leading creatives from the world of web design debate whether CMS tools have made designers lazy, and created a new set of design conventions that designers feel obliged to follow.

Notes

  • Not just talking about WordPress – all CMS platforms
  • What is the problem with designing with a CMS?
    • Some people say it makes designers lazy
    • WordPress is something everyone on this panel has used
    • Problem – when people lock on to it as a sort of sitemap or a planning tool for what you will design
      • Focus on the tool over the design
      • Not all sites need to feel like they have a CMS behind them (and shouldn’t)
    • What’s killing web design is a lack of imagination, not an abundance of tools
    • Dawes – WordPress not for large sites with lots of different types of content
    • Bolton – left WordPress for a while because it wasn’t enough for desired use and began using Reflect (never released) and on a site relaunch decided instead to go back to WordPress – known quantity, easier to make what she wanted
      • WordPress is *not* difficult to customize – documentation is out there
  • Moderator comment – WordPress has made web publishing ubiquitous and this is a good thing – Are designers becoming too reliant on CMS themes?
    • Mall – CMSes remove a lot of the overhead for people starting something; designers sometimes just default to a theme and then try to squeeze that theme into what they are trying to do
    • Dawes – this depends on the situation: themes are really good for people who don’t know how to code and can’t make their own designs; how you say something is as important as what you say, and themes take the personality of the site away – it’s not something that expresses you
    • Dawes – WordPress takes the pain away from content management
    • Mielke – Impressed by any sort of creativity that makes you wonder how something was done and obscures the tools used in order to make it
  • Moderator – when building a site, there’s a lot of broken apart duties – do CMS tools widen the gap between graphic and web design?
    • Mall – helps people who might not know much about Web design to get the gist with very little work – enables play
    • Dawes – where the more interesting work is being done is with designers who also use coding as part of their toolset – these people are hard to find; thinks there is a problem with people who come from print trying to impose their concepts on web design (big fonts)
    • Bolton: a perception issue – if you want to think of the CMS as a constraint, then it will be
  • Moderator: what have the major effects of CMS tools been on web design?
    • Mielke – we emulate others – if the big people out there have simplistic CMS-tool-looking sites, then other people are going to do the same – not as much diversity in design anymore anyway, not necessarily because of CMS use
    • Dawes – little design touches are what make the experience for people – design in general has become homogenous – users don’t necessarily care what the CMS is, they are only looking at the front-end
  • Modreator – have CMS tools such as WordPress made web design homogeneous?
    • consensus seems to be yes, but not because of the CMS
  • Moderator – what can we do to inject new life into web design?
    • Bolton – Art in My Coffee – gets a lot of questions about how that’s a Tumblr site – use CSS to your advantage
    • Mall – designers should get away from the computer and create things that aren’t necessarily digital once in a while; don’t be afraid to screw something up
    • Bolton – if you have other skillsets, try to find ways to bring that into your design work – it adds an investment and a personal touch
    • Dawes – read about things that you know nothing about – broader your horizons
    • Mielke – one web site can’t possibly express everything about you at once – have more than one and practice on each
  • Moderator – what’s to blame for increased use of CMS tools by web designers?
    • Mall – sometimes it’s because it’s easiest for the user to figure it out – should have more reasoning behind the choice than your own comfortability
    • Dawes – where it goes wrong is when the CMS begins making demands on the design
  • Moderator – as experienced designers, what can you do to improve things?
    • Dawes – if your frame of reference is wide and you are learning new things every day, you have the ability to do good things – read things that increase your knowledge, and not just about design – curiosity
    • Mielke – personality is the key – have one and put it into your designs
    • Mall – one question asked in every interview – if you are singing karaoke and closing out the night, what song would you sing – this showcases people’s personality and creativity
  • Moderator – how do you stay creative?
    • Mielke – pursue your other interests and hobbies because they enhance the other things you do, including design
    • Mall – the emerging theme here is to express yourself and be yourself – tap into your creativity and personality
    • Dawes – slow down, don’t go from A to B as quickly as possible all the time

Want a WordPress Meetup in St. Louis?

Are you interested in getting together with other WordPress users in the St. Louis metro area who use WordPress either personally or professionally and would like to talk about, listen to others talk about, learn about, and share their love of WordPress?

If you are, please either leave a comment on this post or send me an email using my contact form. I would love to hear from you.