Category: Wordpress

Great Link: WordPress Plugins

via http://www.flickr.com/photos/pimkie_fotos/2451289441/sizes/o/in/photostream/
via Flickr

I am always open to more lists of WordPress Plugins:

Lunarpages Blog: Ten WordPress Plugins Worth Considering

The one I picked up from this list was WP Super Cache.  My blog definitely needs a speed boost.

The next one I probably need to come back to is the Mobile Press.  The only problem is that the link was broken.  I’ll have to come back and research that later.

So, let me add a few of my own:

Ad Injection: Previously, I had tried to implement the ads manually into my theme.  I found that they were slowing the site down.  This plugin makes implementing ads correctly easier, and it gives you more options as well.

Edit Flow: While it is just me blogging, I still use this plugin to try to organize my posts.  I have created a “Stub” status that I use when I find a topic that I want to write about.  Then, I created a “Needs Research” status to indicate that I still have work to do before finishing the article.  I also created a “Pending Review” status to remind myself to review the article one more time before publishing.

Jetpack: If you don’t already have this installed, WordPress should start to bug you about it.  For me, it just means better looking stats.  I need to delve into setting up some of the other features in it.

Yet Another Related Post Plugin: I need to spend more time on theming the related section, but this plugin seems to make the “related” section at the bottom pretty easy.

WordPress: Fixing the Link Button

Since this last upgrade to WordPress 3.2.1, I have been having trouble using the link button in the Visual Editor.  The link button doesn’t do anything, and looking in the Javascript Console, I see an error.  I’ve noticed that it works in Firefox but not Chrome.  Also, it works fine in the HTML view but not the Visual view.

Javascript Chrome Error for Link Button

The weird part is that I installed a fresh installation of WordPress using Lunar Page’s Softaculous system.  The new installation had no problems.

I found a pretty nice forum post that has some things to try.  Unfortunately, none of them really worked.  I have disabled all of the plugins, and that didn’t seem to make a difference.  I also installed all of the plugins into my new instance, and that didn’t break that one.  I copied all the wp-includes from the new instance to the old one, and that didn’t fix it either.

I did find a work around: TinyMCE Advanced. Under settings, I enabled the “Advanced Links”. That replaces the dialog and works around the javascript error.

I would love to fix it for good through. Please comment if you have any other ideas.

Resources

Adding the Google +1 to Garland Theme in WordPress

Today, I came across a suggestion on Google AdSense to add the Google +1 Widget to my posts on my website.  Here’s what the notification looked like:

If you want a short description on what the +1 button does, you can watch this short video from the +1 Website:

So, here’s how I made it work in my theme (I am using Garland Revisited). First, I added the javascript link at the bottom of my header.php file.  Here’s the code I added:

<!-- begin Google +1 button -->
<script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script>
<!-- end Google +1 button -->

So, here’s what the bottom of my header.php looks like (wp-content/themes/garland-revisited/header.php):

</ul>
</div> <!-- /header -->
<?php get_sidebar(); ?>
<div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
<!-- begin Google Adsense -->
....(Adsense code removed)
<!-- end Google Adsense -->
<!-- begin Google +1 button -->
<script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script>
<!-- end Google +1 button -->
<!-- begin content -->
<div class="node">

Next, I added the button to the home page. This is the line of code that i added to index.php:

<div style='float:right'><g:plusone href="<?php echo get_permalink() ?>"></g:plusone></div>

Update: I added the href=”<?php echo get_permalink() ?>” code for the index.php.  Without that, the user would be indicating a plus one for the home page rather than the article that the button is next to.

So, here’s what the top of my index.php looks like (wp-content/themes/garland-revisited/index.php):

<?php get_header(); ?>
<?php is_tag(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class(); ?>>
<div style='float:right'><g:plusone></g:plusone></div>
<h2><a href="<?php echo get_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<span class="submitted"><?php the_time(get_option('date_format')) ?> &#8212; <?php the_author() ?> <?php edit_post_link(__('Edit'), ' | ', ''); ?></span>
<div class="content">
<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) {
	the_post_thumbnail(array( 75,75 ), array( 'class' => 'alignleft' ));
}
?>

Now, that only affects the home page. If you go into one of the posts, you won’t see the button. To fix that, we need to add it to single.php. And, here’s what the top of my single.php looks like (wp-content/themes/garland-revisited/single.php):

<?php get_header(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class(); ?>>
<div style='float:right'><g:plusone></g:plusone></div>
<h2><?php the_title(); ?></h2>
<span class="submitted"><?php the_time(get_option('date_format')) ?> &#8212; <?php the_author() ?> <?php edit_post_link(__('Edit'), ' | ', ''); ?></span>
<div class="content">

Resources

Ahh! Spam, Your Killing Me!

After moving my blog, one of the problems is SPAM.  And, it seems like it is getting worse.  I get all kinds of spam comments, some advertising various things like iPhones and worse, but the most annoying are these unreadable ones.  These are like random letters or like someone just slid their hand across the keyboard.

Akismet

On WordPress.com, they offer Akismet as a spam filter.  It seemed to do a decent job, and now that I see what happens without it, I realize that I took it for granted.  What I didn’t realize was that it was a service.  The plugin came preinstalled on my new website, but to activate it, I had to sign up for an account on the Akismet site.

I have been reluctant to sign up because I am not sure that I want yet another service.  The cost would probably be minimal if not free, but my profits are minimal if not none.

GASP

A little search for an Akismet alternative turned up iBlogZone’s article about GASP.  GASP stands for Growmap Anti Spambot, and you can read more about it on the WordPress Plugin Site.

I like this option because it isn’t a service.  From what I can tell, it adds a few features to the form that will trick spambots.  First, it looks like it adds a checkbox via Javascript.  Because spambots don’t care about running Javascript, they will not be able to check the box and therefore not be able to comment.  Also, it adds a hidden field that a human would not be able to populate.  The spambot will not realize it is hidden, and that is a dead giveaway.

So, we’ll see how this option goes.

Solve Media

Another option that looked very interesting was Solve Media.  This idea is pretty cool.  They take a problem and end up making money off of it!

I read about it at iBlogZone’s article.  The idea is that you put a Captcha on your comment form.  In order to comment, you have to type the letters from the image, and they are designed so that a spambot could not decipher them.  The cool part about this implementation is that they incorporate an advertisement into it so that you earn money at the same time.

I think I am going to hold off on this option for now.  It is another service after all, and I don’t have enough legitimate comments at this point.

Linux Client for WordPress

Now that I have WordPress setup on a separate website, I am ready to attempt to use another program for writing the posts.  Here is my first attempt at finding such a program.

Options from Ubuntu Software Center:

In order to use these, I did have to go to the settings on my blogs and enable the XML-RPC feature.  In the admin tool, I went to Settings > Writing.  Under Remote Publishing, there is a setting for it.

Blog Entry Poster worked pretty easily once I got the RPC enabled.  Drivel was a little more difficult, but I found a post that helped.  I just had to use MoveableType.

I think I like QTM the best out of the three.  One feature I like is that it supports multiple accounts/blogs:

The accounts window in QTM

Another feature I like is that you can save/upload it as a draft.  So, what I will probably do is write and complete most of the post from QTM.  Then, I will go back and proof it online in WordPress.

QTM does seem to support adding images although, I don’t think I have tried it yet.  It doesn’t seem to support WYSIWYG editing though.  That isn’t that big of a deal for me with simple posts.  It does have a preview button.

Help! Maintenance Mode in WordPress

I got a little scare last night when I was updating one of my plugins in WordPress.  I got a little click-happy, and I think I didn’t let the page finish loading when I told it to install the update.

Anyway, I went to the front page, and I got a message like this: “Briefly unavailable for scheduled maintenance. Check back in a minute.”  Thankfully, I found the solution here:

WordPress Forums: [resolved] Blog now stuck in maintenance mode

The solution is to delete a .maintenance file in the root directory of my WordPress installation.  I use nautilus for my FTP connection to the website.  Because the file begins with “.”, it is hidden by default.  You can hit Ctrl + H to show the hidden files, and then I could delete the file.

WordPress Tip: Adding All Posts to a Tag

In moving my blog across from WordPress.com, I decided I wanted to review all of the posts that I imported. To track which ones I had done and which ones I had not, I created a tag to apply to all of the posts. Then, the challenge was to apply that tag to all of the posts. I couldn’t find anything on the front end, so I decided to try the database.

Here are my explorations in applying that tag:

Read More