WordPress Plugins

NETBibleTagger For WordPress

By michael  |  December 1st, 2010  |  Published in WordPress, WordPress Plugins  |  Comments Off

I came across this nice little piece of JS today by Bible.org called NETBible Tagger when an elder at the church I attend requested that I add it to our web site. In short, it “Automatically Tag and Quote Scripture References on Your Site”.

The developer has done a great job, adding several options to allow you to configure it as desired. While there are some widgets and modules for other CMS platforms out there, I didn’t see one for WordPress so I thought I’d draft one up real quick.

As always, this was created for a client and I don’t have a ton of time to keep up with most of my plugins right now. If you find a bug, let me know though.

== Changelog ==
* 1.1 – Minor tweak to make work in all webkit browsers
* 1.0 – Initial Release

== Installation ==
1. Upload the entire `ft-netbible-tagger` folder to your `/wp-content/plugins/` folder.
2. Go to the ‘Plugins’ page in the menu and activate the plugin.
3. Navigate to Settings -> NETBible Tagger in your WordPress dashboard to customize the settings.

== Download ==
You can download it here until its accepted at the WordPress plugin repo

== Screenshot ==

Plugin to Fold the Category Checklist Tree in WordPress

By michael  |  June 11th, 2010  |  Published in WordPress Plugins  |  4 Comments

The category (as well as custom taxonomy) boxes on the write / edit post screen in WordPress can get pretty long if you have a large number of categories with children categories.

This plugin allows you to hide and expand the children categories from view to make navigation a little less complicated.

Goes great with Scribu’s Category Checklist Tree plugin found here.

Download it here until I find time to submit it to the repository.

Here’s a screenshot of it in action on a custom taxonomy I happen to have created it for:

Remove Username Character Limit from WordPress Multi-Site / Multi-User

By michael  |  May 13th, 2010  |  Published in WordPress, WordPress Plugins  |  15 Comments

I’ve been working on a pretty complex project with WordPress MultiUser (soon to be MultiSite). This client needs several sites with hundreds of users divided into each site. I will be integrating the backend authentication with LDAP and discovered that a small percentage of their users have usernames with fewer than four characters.

WordPress MU currently has a minimum limit of four characters set in its core. Unfortunately, this limit is still imposed in WordPress MS 3.0. The limit is probably there because usernames were used for the domain too and WP-Devs didn’t want to conflict with country codes. But that is not an issue for my client, so I wanted to kill the limit (without touching core).

Basically, I wrote a quick mu-plugin that unset the error message when someone tries to add a user with fewer than four characters. Doing this removes any halts that would stop processing the new user. Here is my code:

function remove_username_char_limit($result) {	
  if ( is_wp_error( $result[ 'errors' ] ) && !empty( $result[ 'errors' ]->errors ) ) {

    // Get all the error messages from $result
    $messages = $result['errors']->get_error_messages();
    $i = 0;
    foreach ( $messages as $message ) {

      // Check if any message is the char limit message
      if ( 0 == strcasecmp("Username must be at least 4 characters", $message)) {
        // Unset whole 'user_name' error array if only 1 message exists
        // and that message is the char limit error
        if ( 1 == count($messages) ) {
          unset( $result['errors']->errors['user_name'] );
        } else {
          // Otherwise just unset the char limit message
          unset( $result['errors']->errors['user_name'][$i] );
        }
      }	

      $i++;
    }
  }

  return $result;	
}
add_action('wpmu_validate_user_signup', 'remove_username_char_limit');

Easily Extended Contact Info in WordPress

By michael  |  April 22nd, 2010  |  Published in Development, WordPress, WordPress Plugins  |  Comments Off

I’m working on a project where I need the ability to add “Phone”, “Building”, and “Room” as information a user could add in their profile. I also wanted to remove “AIM”, “Yahoo”, and “Jabber” — none of the users are going to need to fill in that info.

You can easily add this code into your functions.php. I was writing it for a WordPress MU site with multiple themes and needed to make sure it was enforced, so I stuck it in the mu-plugins directory, in a file named “extended-contact-info.php”.

This is the simple code block you need:

function extended_contact_info($user_contactmethods) {
	//Use this if you want to append to the default 
	//contact methods (AIM, Yahoo, Jabber)
	//$user_contactmethods += array(
	//	'building' => __('Building'),
	//	'room' => __('Room'),
	//	'phone' => __('Phone')
	//);

	//Use this if you want to ignore the default 
	//contact methods (AIM, Yahoo, Jabber)
	$user_contactmethods = array(
		'building' => __('Building'),
		'room' => __('Room'),
		'phone' => __('Phone')
	);
	
	return $user_contactmethods;
}

add_filter('user_contactmethods', 'extended_contact_info');

WordPress Ultimate CMS Plugin

By michael  |  March 8th, 2010  |  Published in News, WordPress, WordPress Plugins  |  Comments Off

Description

FullThrottle Development is thrilled to announce our latest and greatest WordPress plugin! This ground breaking piece of craftsmanship will instantly turn your WordPress blogging software into a full fledged CMS. Just install, activate, and partake. Sreenshots below.

Download:

Features include but are not limited to the following:

  • Full standards compliance — We have gone to great lengths to make sure every bit of WordPress generated code is in full compliance with the standards of the W3C. This is important not only for interoperability with today’s browser but also for forward compatibility with the tools of the next generation. Your web site is a beautiful thing, and you should demand nothing less.
  • No rebuilding — Changes you make to your templates or entries are reflected immediately on your site, with no need for regenerating static pages.
  • WordPress Pages — Pages allow you to manage non-blog content easily, so for example you could have a static “About” page that you manage through WordPress. For an idea of how powerful this is, the entire WordPress.org site could be run off WordPress alone. (We don’t for technical mirroring reasons.)
  • WordPress Links — Links allows you to create, maintain, and update any number of blogrolls through your administration interface. This is much faster than calling an external blogroll manager.
  • WordPress Themes — WordPress comes with a full theme system which makes designing everything from the simplest blog to the most complicated webzine a piece of cake, and you can even have multiple themes with totally different looks that you switch with a single click. Have a new design every day.
  • Cross-blog communication tools— WordPress fully supports both the Trackback and Pingback standards, and we are committed to supporting future standards as they develop.
  • Comments — Visitors to your site can leave comments on individual entries, and through Trackback or Pingback can comment on their own site. You can enable or disable comments on a per-post basis.
  • Spam protection — Out of the box WordPress comes with very robust tools such as an integrated blacklist and open proxy checker to manage and eliminate comment spam on your blog, and there is also a rich array of plugins that can take this functionality a step further.
  • Full user registration — WordPress has a built-in user registration system that (if you choose) can allow people to register and maintain profiles and leave authenticated comments on your blog. You can optionally close comments for non-registered users. There are also plugins that hide posts from lower level users.

Screenshot

Screen shot 2010-03-08 at 11.25.19 AM

Colophon

Create a WordPress Archive for posts in Multiple Categories

By michael  |  November 11th, 2009  |  Published in WordPress, WordPress Plugins  |  2 Comments

One of my first experiences with the social web was Del.icio.us. I stopped using it shortly after Yahoo! aquired it, but that’s a different story. The reason I bring it up is because I loved the way that you could search for multiple tags by including a + sign in between each tag in the URL. Can you even do that anymore?

So, I’ve been wanting to do this with WordPress categories for a while now and recently had the motivation to make it happen (aka: a client needed it).
Below is my first draft. It only works with permalink structures for now. I’m looking for some feedback and ‘beta testing’ before I put it into the WordPress plugin repository. Would anyone like to help?

How it currently works:

  1. Download, unzip, FTP to your site’s plugins folder.
  2. Activate the plugin.
  3. Visit http://yourdomain.com/categories/cat1-slug+cat2-slug+cat-3slug+etc/
  4. You should get a listing of all your current posts that are in all of the above categories.

Templates, Titles, etc

I am currently using the following logic for determining what theme file is used to display your posts:

  1. If there is a file called categories.php, use that.
  2. If there is a file called archive.php, use that.
  3. If there is a file called index.php, use that.
  4. If there is a file called 404.php, use that.

I currently have the following functions available to help you build a title for your archive page

  1. is_categories() returns true if you are on a categories page ie: /categories/ is in the URL
  2. ft_mca_titles() returns an array of titles for each of the categories in your URL

Download the zip file here: ft-multiple-category-archives.php.

Leave comments below. Thanks!

WordPress Plugin to Stop Trackback DOS attacks

By michael  |  October 20th, 2009  |  Published in WordPress, WordPress Plugins  |  14 Comments

[Update] WordPress 2.8.5 just dropped. It addresses the DoS attack among other issues. Get it here.

There have been several reports this morning of a DOS attack affecting the WordPress wp-trackback.php file.

All the the solutions have been the same thus far and require editing your .htaccess file or the wp-trackback.php file.

FullThrottle has composed this quick plugin that accomplishes the same thing as the edit to the wp-trackback.php file. You may download the plugin below or paste the following code into your theme’s functions.php file.

We will update this post and our code if further insight into the attack deems it necessary.

function ft_stop_trackback_dos_attacks(){
	global $pagenow;
	if ( 'wp-trackback.php' == $pagenow ){
		// DoS attack fix.
		if ( isset($_POST['charset']) ){
			$charset = $_POST['charset'];
			if ( strlen($charset) > 50 ) {  die; }
		}
	}
}
add_action('init','ft_stop_trackback_dos_attacks');

Download the plugin here: ft-stop-trackback-dos-attacks.php

New WordPress Plugin: Auto Moderate Comments By Category

By michael  |  September 18th, 2009  |  Published in WordPress, WordPress Plugins  |  2 Comments

One reason that WordPress is such a great tool for blogging is due to its excellent commenting features. As a blog owner, you can choose whether you want to allow comments on your posts, whether you want to moderate the comments, or whether you want to let each of those comments automatically post without moderation.

WordPress allows you to specify a couple options for comment moderation out of the box:

  • An administrator must always approve the comment
  • Comment author must have a previously approved comment
  • Hold comments for moderation if more that ## links appear in the comment
  • A black list of terms that always send a comment to moderation

This plugin provides you with one more option: Always moderate comments for the following categories.

So, if you have a blog where you allow people to comment freely, but you always want to moderate comments for one specific category, follow the directions below to implement our solution:

  1. Download the plugin here until its listed in the WP repository
  2. Unzip the file
  3. Place the ‘ft-auto-moderate-comments-by-category.php’ file in plugins folder
  4. Activate FT Auto Moderate Comments By Category in the WordPress plugin admin page
  5. Go to Settings -> Discussion and look for the ‘Auto Unapprove Comments by Category’ setting.
  6. Place a comment separated list of categories you want always moderated as false in this field. ie: 1,3,4,6
  7. Save and test.

Please let us know if you have any questions or comments

Page Related Posts

By michael  |  June 30th, 2009  |  Published in WordPress Plugins  |  Comments Off

This WordPress plugin adds a list of posts to the bottom of static pages based on the name of the page and the category of the post. The plugin examines the name of the page, then it finds the most recent posts in a category with the same name as the page.

For example, if the site includes a page called “Services” and a post category called “Services”, then a list of the most recent posts in the “Services” category will be included at the bottom of the “Services” page.

This plugin allows immediate cross-referencing between static pages and posts with similar content.

There are a few options associated with this plugin. The user can set the number of related posts to display and can format the related post title and list.

To use this plugin, unzip and upload to your plugins folder, then activate.

Download here until it gets approved by wordpress.org

Password Protect Children Pages

By michael  |  May 23rd, 2009  |  Published in WordPress Plugins  |  57 Comments

This plugin does one thing. If a page that is password protected has children pages, all children pages will be protected with the same password. If the correct password is entered on the parent page or any of its children pages, all related pages will be viewable to the user.

The following logic is invoked whenever the_content or the_excerpt is called from your theme.

  1. Is this a page?
  2. Does this page have an ancestor page
  3. If it does, does the ancestor page require password protection?
  4. If it does, treat this page the same way you would treat the top level ancestor page.

Version 0.2 uses the $post->ancestors property and allows protection of grandchildren pages as well

Download here