I'm currently working on a community site for a fairly large blog (approx 500,000 uniques/month). I've decided I want to do a Network for all the different portions of the community site to keep the DB load to a minimum.
IE: - A site for a user generated recipe site - A site for a user forum (using wordpress) - A site for guest blog posts
For the recipe site I was thinking of using a custom post type called recipe. My issue with this is I'd be getting URLS like the following by default: recipes.domain.com/recipe/%post-name% or domain.com/recipes/recipe/%post-name% (depending on whether I use subdomain or subdirectory in my Network).
So for option 1 I can remove the Tags I've found the following http://www.ultimatewebtips.com/remove-slug-from-custom-post-type/ OR Wordpress 3.3 custom post type with /%postname%/ permastruct?
While this looks good I don't want to add any overhead or have to worry about things breaking when updating wordpress or using a caching plugin. I'm not saying it will, but I just figure messing with the permalink structure might not be such a good idea.
For the second option I could just use the default post type as my "recipe" (since I will not be using it for anything else). Doing so I can add a filter like the following:
add_filter( 'gettext', 'change_post_to_recipe' );
add_filter( 'ngettext', 'change_post_to_recipe' );
function change_post_to_recipe( $translated )
{
$translated = str_replace( 'Post', 'Recipe', $translated );
$translated = str_replace( 'post', 'Recipe', $translated );
return $translated;
}
And then use the remove_post_type_support() to remove things I don't need such as 'editor' and 'excerpt'.
My only worry with this is that the functions gettext or ngettext would get loaded a ton, and I'd be doing an excessive amount of str_replace. The benefit of using the default post type is that I can use all the default built in functions to do what I need, and chances are most plugins would work fine with this.
Any suggestions would be appreciated.