WordPress Plugins

URL Path Bug In WordPress.com Video Server

You’ve got to both respect Automattic for releasing their internal code as open source while also giving them a break for not assuring that it works for anybody else. One of their projects, the WordPress.com Video Server is a sophisticated WordPress plugin that handles video transcoding and offers a bit of a YouTube in a box solution for WordPress.

The bug I found is that the code assumes WPMU is running in subdomain mode, rather than subdirectory mode. This assumption causes an ajax request to go to the wrong URL and return the wrong data. The patch simply applies WordPress’ plugins_url() function that debuted in 2.6.

What is David McNicol’s URL Cache Plugin?

The description to David McNicol’s URL Cache Plugin raises more questions than it answers:

Given a URL, the url_cache() function will attempt to download the file it represents and return a URL pointing to this locally cached version.

Where did he plan to use it? Does he envision the cache as an archive, or for performance? Why hasn’t it been updated since 2005?

It caught my interest because I’ve long been interested in a solution to link rot in my blog. A real “perma-permalink” would be very useful.

Wufoo Forms WordPress Embed Shortcode

I tossed this together a while ago, and it even made it in to bSuite for a time, but I don’t have a need for it anymore, and I’m cleaning house.

function shortcode_wufoo( $arg ){
 // [wufoo id=z7x4m0 domain=place.wufoo.com]

 $arg = shortcode_atts( array(
 'id' => FALSE,
 'domain' => FALSE,
 'height' => 500,
 ), $arg );

 if( !$arg['id'] || !$arg['domain'] )
 return( FALSE );

 return( str_replace( array( '%%id%%','%%domain%%','%%height%%' ), array( $arg['id'], $arg['domain'], $arg['height'] ), '<iframe height="%%height%%" allowTransparency="true" frameborder="0" scrolling="no" style="width:100%; border:none" src="https://%%domain%%/embed/%%id%%/"><a href="http://%%domain%%/forms/%%id%%/">Fill out my Wufoo form!</a></iframe>' ));
}
add_shortcode( 'wufoo', 'shortcode_wufoo' );

Download the simple plugin here: wufoo_shortcode.php. Save it as wufoo_shortcode.php, upload it to your WordPress’ wp-content/plugins/ directory, then activate it.

To use it you’ll have to have a Wufoo account and forms. Then simple put in a shortcode like this [wufoo id=z7x4m0 domain=place.wufoo.com] in one of your posts or pages. The result will look like this.

Slideshare WordPress Embed Shortcode

I’m cleaning house in [bSuite][1], and I’ve decided that this shortcode function for embedding Slideshare items in WordPress needs to go. Rather than totally toss it away, however, I’m posting it here in case somebody else finds it useful.

``` function shortcode_slideshare( $arg ){ // [slideshare id=211578&doc=misty-holland-1198496990903941-2&w=425]   $arg = shortcode_atts( array( 'id' =&gt; FALSE, ), $arg );   if( ! $arg['id'] ) return( FALSE );   return( str_replace( '%%id%%', $arg['id'], '
'

)); }   add_shortcode('slideshare', array(&amp;$this, 'shortcode_slideshare'));

      </td>
    </tr>
  </table>
</div>

 [1]: http://maisonbisson.com/bsuite/

Tricky Uses of bSuite

After writing the project page for wpSMS I didn’t have much more to say in a blog post announcing it. The cool thing about writing Pages in WordPress is that I can create a taxonomy like /projects/wpsms/ to place them in. The downside is that new pages never appear in the RSS feed.

So I need both the page and a blog post to announce it. I could have simply copied the content from the wpSMS page into a blog post, but that creates confusion and splits the audience between the two pages. Instead, I’m using two bSuite features: the [inclu``de] shortcode and the post redirection support.

  1. Create the page.
  2. Start a new post.
    1. In the post body put the include shortcode like this: [inclu``de post_id="123" field="post_content"].
    2. In the custom fields put an entry with the key: “redirect” and the full URL to to your page.
  3. Relax, you’re done.

The include shortcode will copy all the content from the page (so you don’t have to manage it twice), and the redirect custom field will tell bSuite to redirect anybody trying to read that post to your page.

Determining Paths and URLs In WordPress 2.6+

WP 2.6 allows sites to move the wp-content directory around, so plugin developers like me can’t depend on them being in a predictable location. We can look to the WP_CONTENT_DIR and WP_PLUGIN_DIR constants for answers, but a better solution is likely to use the X_url() functions. The most useful of those is likely to be plugins_url(). Even better, you can give these functions a relative path and they’ll return a fully qualified URL to the item.

Do WordPress Pages Better With bSuite

WordPress‘ Pages feature makes the popular blogging platform a sophisticated CMS. bSuite adds a few features to make it even better. Write excerpts, tag, and categorize your pages WordPress excerpts are an underused but powerful feature that allow you to explain to your readers why they should read the page you wrote. Tagging and categorization […] » about 300 words

bSuite 4 beta 2

I announced the bSuite 4 public beta not long ago, now I’ve just posted a new version to SVN that addresses some of the bugs and fleshes out some of the features. I have yet to update the bSuite page, but here’s a preview of what’s new or changed:

  • Additional stats reports
  • WP2.5-style tag input tools on the Page edit screen*
  • WP2.5-style category selector on the Page edit screen*
  • WP2.5-style excerpt input on the Page edit screen*
  • For multi-author sites: ability to grant edit permissions by role for each page (with a configurable default)
  • An “include” shortcode that makes it easy to show content from one post or page on another.

About the new shortcode, use it like this:

[inclu``de post_id=“1234” url=“a url to a post or page in your blog” field=“post_excerpt”]

One of post_id or url is required; field is optional and defaults to post_excerpt first, then to post_content if there is no excerpt.

*Why would you want to input tags, set categories, or add an excerpt to a Page? They help readers find and explore our content. What’s so wrong with that?

Language Translation Icon

We all need a recognized icon to represent “translate this.” We’ve got one for feeds and social bookmarking, but where’s our translate icon? A lot of folks simply use flags, but that’s a bad idea because they’re “nationalistic, and represent ideals, boundaries, and political beliefs, but do not represent a language.” Joe Lee has developed […] » about 200 words

bSuite 3 Released

ContentsFeaturesCMS enabling goodiesHacking goodiesWidgetsRecognitionI started bStat in 2005 when I ported my blog from pMachine to WordPress and needed to bring over the tools I’d built to identify popular stories and recent comments. I renamed it bSuite when I added tagging and other features to it. Now it’s bSuite 3. Get it here. Get installation […] » about 300 words

bsuite Bug Fixes (release b2v7)

Contentsbsuite FeaturesFixed/Changed/AddedInstallationUpgradingCommandsClear bsuite_speedcacheRebuild bsuite tag indexOptionsMinimum userlevel to view bsuite reportsOutput default CSSDefault pulse graph styleSuggest related entries in postTag input formatHighlight search words and offer search helpFilter incoming search terms using comment moderation and blacklist wordsIgnore hits from registered users at or above userlevelIgnore hits from these IP numbersTag SupportUsing bsuite FunctionsKnown BugsMoney GrubbingWork […] » about 800 words

bsuite Bug Fixes (release b2v6)

Contentsbsuite FeaturesFixed/Changed/AddedInstallationUpgradingCommandsOptionsTag SupportUsing bsuite FunctionsKnown BugsUpdate: bugfix release b2v7 available. It’s been a while since I released a new version of bsuite, my multi-purpose WordPress plugin. I’d been hoping to finish up a series of new features, but those have been delayed and this is mostly just a collection of bugfixes. This update is recommended […] » about 500 words

More bsuite Hacking

Update: bugfix release b2v6 available. Some conversations with Chow Kah Soon, who’s site is full of diversions from work , finally convinced encouraged me to solve some small problems that were giving him big trouble. Chow Kah Soon is in the lucky, but rare, position of having over 20,000 unique daily visitors to his site, […] » about 400 words

bsuite Feature: User Contributed Tags

Ross Singer gets the prize for submitting the first reader contributed tag, the latest feature in bsuite.

There are arguments about whether user-contributed tags are useful or even valid, or whether they should be stored in my site or aggregated at places like del.ici.ous. But who’s to worry about such questions? Who’s to worry when you can put together the work already done to support author’s tags with WordPress’s pretty good comment system and get user contributed tag support with just a few extra lines of code? Who’s to worry when we can try it and see what comes of it?

It’s all managed using the same tools we use to approve, moderate, and edit comments, which also means the spam filtering that works for comments works for contributed tags too. And because bsuite is already part of WPopac, that means it gains the new tagging features too (well, it will soon).

WordPress Plugin: Add To del.icio.us

I’m not running it here (only because I’m too lazy), but I was happy to find Arne Brachold’s Del.icio.us – Bookmark this! WordPress Plugin. It puts a sweet Bookmark on del.icio.us link whereever you call this function: <?php dbt_getLinkTag(“Bookmark on del.icio.us”); ?>

Arne also wrote the Google sitemap plugin I use (though it turns out I’m a few versions behind).

WordPress 2.0 & bsuite

Update: bugfix release b2v6 available.

WordPress 2.0 is out and available for download now. I don’t know how the development team did it — I mean with the holidays and all — but here it is. And now I have to admit that I haven’t even played with the betas, so I’ve got no clue how bsuite works with the big 2.0. For all I know it works just fine, or it drops all your tables and sends your browser history to your mother, so please take caution.

But WP2 has a lot of things I want too, so I’ll be checking things out and making any necessary changes to bsuite as soon as possible.

bsuite Bug Fixes (release b2v3)

ContentsFixedInstallationbsuite FeaturesI’ve fixed another bug in bsuite b2, my multi-purpose plugin. This update is recommended for all bsuite users. Fixed Previous versions would throw errors at the bottom of the page when the http referrer info included search words from a recognized search engine.  Installation Follow the directions for the bsuite b2 release. The download […] » about 300 words

bsuite Bug Fixes (release b2b)

ContentsFixesInstallationbsuite FeaturesI’ve fixed a couple bugs in bsuite b2, released last week. Fixes A bug with search word highlighting that caused it to litter the display in some cases.  A silly mistake of mine that cause a mysql error for some users. Installation Follow the directions for the bsuite b2 release. The download link there […] » about 300 words

bsuite Features: The Photo Spread

bsuite highlights the search words used to find blog posts in Google and other search engines, and uses those search terms to recommend other related posts at your WordPress site. — – — bsuite uses the tags of one post to recommend related posts in your WordPress blog. — – — bsuite includes an easy […] » about 100 words

bsuite WordPress Plugin (b2 release)

Contentsbsuite FeaturesChangesInstallationOptionsTag SupportUsing bsuite FunctionsKnown BugsThe first thing we all have to agree on is that bsuite is the replacement for bstat. The name change reflects that fact that the plugin is doing a lot more than simply track page loads. The most exciting new feature is a module I can’t help but call bsuggestive. […] » about 1000 words

bsuggestive and bsuite Tag Support

bsuite, the follow-up to bstat, now includes a module called “bsuggestive” that recommends related posts based on the current post’s tags or alternate posts based on your search words when you arrive from a recognized search engine. That is, bsuggestive does two neat things: First, visitors will see a section in each post with links […] » about 300 words