Paid Memberships Pro

An infinitely customizable Membership Plugin for WordPress integrated with Authorize.net or PayPal® for recurring payments, flexible content control, themed registration, checkout, and more…



Paid Memberships Pro is a WordPress Plugin and support community for membership site curators. PMPro’s rich feature set allows you to add a new revenue source to your new or current blog or website and is flexible enough to fit the needs of almost all online and offline businesses.

Learn more here: www.paidmembershipspro.com

Paid Memberships Pro was last updated on May 2, 2011. Bookmark the permalink.

Edwards Educational Services

A website redesign project to bring a more youthfull, crisp, and funky vibe to a firm in the educational services industry.



Edwards Educational Services was looking to revamp their existing website to bring a young, hip flavor to the site, while still balancing a professional and serious undertone. The new site features a multi-user blog, integrated videos and downloadable resources, and a search-friendly JavaScript homepage slider box to keep material current and interesting.

Edwards Educational Services was last updated on May 2, 2011. Bookmark the permalink.

Serac Solutions

A facelift to redesign the corporate website for Philadelphia-area consulting company Serac Solutions



The custom WordPress theme was designed to play on the company tagline’s “Puzzle Solving” theme and coordinate with their new logo and business identity package. A simple JavaScript homepage box allows the client to keep the active content fresh while still adding an interesting slideshow feature.

Serac Solutions was last updated on May 2, 2011. Bookmark the permalink.

Promedia

In collaboration with this NYC-based SEO organization, we created this brochureware website to showcase the marketing services and client successes of Avi Wilensky and his team of experts.


Client Testimonial

“Stranger Studios is our go-to company for all of our WordPress projects. Having developed 6 sites for us to date, including our own company website, Kim and Jason are extremely talented, professional, and always available when we need them. A great pleasure to work with.”
—Sheara Goldenthal, COO, Promediacorp

Promedia was last updated on May 2, 2011. Bookmark the permalink.

WordCamp Philly 2010 Presentation Slides

Here are slides from my talk. I was told a video of the presentation will be up at WordPress.tv sometime soon. I’ll post a link when it is. And I’ll try to get these in SlideShare or something similar. I was having trouble with their site earlier.

Business Models for WordPress Plugin and Theme Distribution
What You Need to Know About the GPL

Download: ppt, pptx

WordCamp Philly 2010 Presentation Slides was last updated on November 2, 2010. Bookmark the permalink.

Duplicate comment detected; it looks as though you’ve already said that!

Not sure how long WordPress has been doing this, but there is a check for duplicate comments. If the same user/email posts the same exact comment on the same post, the user will get a message like:

Duplicate comment detected; it looks as though you’ve already said that!

This is great actually, and keeps people from submitting the same comment twice if they get impatient waiting for moderation or otherwise click that submit button twice.

As a blog owner and WordPress developer, there may be situations where you want to allow people to post the same comment. If you want to enable duplicate comments on your blog for some reason, you can use this code here. Just add it to your theme’s functions.php or put this in a .php in your plugins folder and enable it.

function enable_duplicate_comments_preprocess_comment($comment_data)
{
	//add some random content to comment to keep dupe checker from finding it
	$random = md5(time());	
	$comment_data['comment_content'] .= "disabledupes{" . $random . "}disabledupes";	
	
	return $comment_data;
}
add_filter('preprocess_comment', 'enable_duplicate_comments_preprocess_comment');

function enable_duplicate_comments_comment_post($comment_id)
{
	global $wpdb;
	
	//remove the random content
	$comment_content = $wpdb->get_var("SELECT comment_content FROM $wpdb->comments WHERE comment_ID = '$comment_id' LIMIT 1");	
	$comment_content = preg_replace("/disabledupes{.*}disabledupes/", "", $comment_content);
	$wpdb->query("UPDATE $wpdb->comments SET comment_content = '" . $wpdb->escape($comment_content) . "' WHERE comment_ID = '$comment_id' LIMIT 1");
		
	/*
		add your own dupe checker here if you want
	*/
}
add_action('comment_post', 'enable_duplicate_comments_comment_post');

For reference, here is the dupe check code in wp-includes/comment.php. A newer version should probably have a hook above and/or below to allow people to override the dupe checker more directly.

// Simple duplicate check
	// expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
	$dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_approved != 'trash' AND ( comment_author = '$comment_author' ";
	if ( $comment_author_email )
		$dupe .= "OR comment_author_email = '$comment_author_email' ";
	$dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
	if ( $wpdb->get_var($dupe) ) {
		do_action( 'comment_duplicate_trigger', $commentdata );
		if ( defined('DOING_AJAX') )
			die( __('Duplicate comment detected; it looks as though you’ve already said that!') );

		wp_die( __('Duplicate comment detected; it looks as though you’ve already said that!') );
	}
Duplicate comment detected; it looks as though you’ve already said that! was last updated on October 22, 2010. Bookmark the permalink.

Jason Speaking at WordCamp Philly October 30th at Temple University

I will be speaking on Business Models for Plugin/Theme Distribution. What You Need to Know About the GPL at WordCamp Philly October 30th, 2010 at Temple University in Philadelphia.

With lots of sweat and little luck, we’ll have our membership plugin available for some sort of release by then. But really I’m excited to share my thoughts on how to distribute, market, and make money off this plugin… and more interested in others ideas about the same.

If you want to hear me speak or are otherwise interested, get your ticket now.

Jason Speaking at WordCamp Philly October 30th at Temple University was last updated on September 23, 2010. Bookmark the permalink.

Clients are so nice…

Every day Jason and I look at each other and say “We have a great life!” — It was even greater today when we received this super-nice client testimonial:

“Thank you! It was such a humongous relief to have you jump in on the project, and to do the CSS work with such expertise and aplomb. Thank you for being game, for helping out, for doing so on a second’s notice, and for your great work. I hope we have the chance to work together again.”

Clients are so nice… was last updated on September 3, 2010. Bookmark the permalink.

Tips and Tricks for Stranger Studios-coded Themes

If you’re a Stranger Studios client using one of our custom WordPress themes, these special formatting options may be available to you. If these tricks aren’t working as intended on your theme, contact us and we will troubleshoot!

Controlling Page Menus

  • Main Navigation Menu: The pages that appear in your site’s main menu have a custom field with the name “mainmenu” and the value “true”.
  • Footer Navigation Menu: The pages that appear in your site’s footer menu have a custom field with the name “footermenu” and the value “true”.
  • Mini-Navigation Menu: Some sites we have coded have a third menu, generally floated in the upper right header space. The pages that appear in your site’s mini menu have a custom field with the name “minimenu” and the value “true”.
  • The order in which the pages appear within the menu is controlled by the page’s “Order” attribute (found in the right hand column of the Edit Page screen within the admin).

Changing the Page title on the page vs. within a menu

Add a custom field with the name “longtitle” and the value of the longer page title. The custom field value will show up within the H2 tag on the page, but the shorter WordPress title will be used within navigation menus.

Hiding pages from the site map / sidebar menus

Add a custom field with the name “hide” and the value “true” to exclude it from your site map and other menus/navigation.

Controlling the content of the 404/Page Not Found

Rather than use the WordPress default content for a 404 page error, your theme has special functionality allowing you to control the text shown on this page. The page can be edited as any other WordPress page within the /wp-admin/ panel under Pages -> Edit Page. If you have a site with a lot of pages, do a page search for “404” to help locate this page.

Horizontal/Divider Line

I generally use a lot of thin grey lines to break up content and divide page or post content into meaningful chunks. This is the code for that thin line:

Here’s the HTML code above rendered as it would appear on your site:

Clearing DIVs

If you are preparing a page with a lot of floating images, you may find the content is rendering funky below the image. In order to clear out that floating image and make the new text render within the full page width, you want to insert a clearing div using this code:

Show excerpts from subpages on a Parent Page

We have written a special shortcode allowing you to display excerpts from the children of a parent page. The order in which these subpage excerpts display is controlled by the subpage’s “Order” attribute (found in the right hand column of the Edit Page screen within the admin). The shortcode will show the subpage title (linked), the excerpt (all content before the subpage’s “more” quicktag), and a link to “Continue Reading More About (subpagetitle) ».

The shortcode that will display subpage excerpts is:

[subpagelist]

To exclude any child pages from showing up in the list, write down a comma-separate list of subpage ids to exclude and use this shortcode:

[subpagelist exclude="1,2,3"]

Same Page As shortcode

Some clients have asked that one page have the same exact content as another page, just navigated to and titled in a different way. This could be useful if you are running landing page campaigns for the same content with a different styling or special meta data. Thus, we have written a special shortcode making one WordPress page dynamically pull in content from another page.

The shortcode that will display the same content as another page is:

[samepageas id="x"]

Where x is the id of the page you wish to pull in the content from.

SS-Downloads

If your site is equipped with the SS-Downloads plugin, click here for a tutorial on how to use that functionality. The basic jist is that you add a shortcode with the file name and optional title for download link like this:

[download file="http://path_to_file" title="optional title"]

The SS-Downloads plugin allows you to hide a downloadable file behind a required email capture on your site pages or blog posts. This would be useful for a White Paper download or other private content that you are using to generate a mailing list, track downloads, or simply block from mass-distribution.

Tips and Tricks for Stranger Studios-coded Themes was last updated on August 2, 2010. Bookmark the permalink.