viernes, 29 de enero de 2010

Changing the Wordpress Language

The Wordpress backend deals with 'Posts' and 'Pages'. For some clients this is too vague, and tweaks are needed.

As an example a site i've been working on recently needed the word 'Post' to be replaced with 'Product'. To do this, we need to create our own custom language file. Unfortunately creating a language file is a pretty complex process as compared to how simple other Wordpress processes can be. It is also not as well documented as other facets of Wordpress. So watch closely!

To begin with you will need a copy of the official WordPress POT file.

Next get yourself a translation tool. We opted for poEdit, which was quick and easy to download and install.

You are ready to start translating!
Open Poedit and use the File/open dialog to open your Wordpress POT file (ensure you change 'files of type' from GNU Gettext catalogs (*.po) to 'all files (*.*) )

Firstly, most importantly, and not well documented:

Go to Catalog/Settings
In the 'Project Info' tab:
change the language team to something new (e.g. Haycroft Media)
change the 'Plural Forms' value to nplurals=2; plural=(n != 1)
(if you are translating to a different language check this: list of Gettext plural forms for the correct setting
Click Ok

Now go to File/preferences and click on the 'Editor' tab.
Ensure that the 'Automatically compile .mo file on save' box is ticked
Click OK

Now File/save as to save
For this example I am saving the file as custom_lang
after saving you should see: custom_lang.mo and custom_lang.po saved in the location you chose.

Now at last we can begin!

Click Edit/find and enter the term you wish to translate (in my case it was 'Post')
tweak the search settings according to what you need and search

The first result I get for my 'Post' example is "Error: you are replying to a comment on a draft post."
Copy and paste this into the translation box and then amend the word post so you get:
Error: you are replying to a comment on a draft product.
Repeat this process until you have finished.

Save again

Now open your wp-config file and amend:
define ('WPLANG', '');
so that it reads:
define ('WPLANG', 'custom_lang');
(or whatever you saved your language file as)

Now create a directory called 'languages' in your wp-content directory
Upload the custom_lang.mo (or wahtever you saved it as) file to the languages folder you just created

Your backend should now display your amended language!

jueves, 28 de enero de 2010

iHOPE Distribution of Donated Goods

Did you know in Orange County, a person earning minimum wage would need to work 141 hours per week to afford a one-bedroom apartment. With this knowledge, Pencilbox Studios supports iHOPE, an organization committed to a permanent solution to homelessness in Southern Orange County. Kathleen Kaiser and her team design and create the marketing materials for the organization while Kathleen also serves on the Board of Directors. Twice monthly iHOPE delivers needed goods to the Capistrano Beach area. Donated goods distributed to the homeless and working poor are coats, socks, shoes, and blankets. If you have goods to donate or would like to volunteer please contact iHOPE at info@iHOPEoc.org or call 949.212.4420

Dates: February 6th size and 20th 2010
Morning shifts: 7:45 am at El Patio Restaurant parking lot, Capistrano Beach
Afternoon shifts: 4:30 pm near San Felipe de Jesus Catholic Church, Capistrano Beach

iHOPE Medical Van

Did you know that Orange County has the highest population of millionaires per capita and a lower than average support for non-profits. Knowing this Pencilbox Studios supports iHOPE, an organization committed to a permanent solution to homelessness in Southern Orange County. Kathleen Kaiser and her team create the marketing materials for the organization while Kathleen also serves on the Board of Directors. iHOPE along with the Illumination Foundation arranges for mobile medical vans to be brought to Southern Orange County.  On February 17 the mobile medical van will be in San Juan Capistrano equipped with: doctors for the uninsured, H1N1(swine flu) vaccines, nurse consultation and referrals, MSI Health Insurance applications, links to housing and employment, social services applications and referrals. If you would like to help, please contact iHOPE at info@iHOPEoc.org or call 949.212.4420



FEBRUARY 17, 2010

Location – Parking lot of the Boys & Girls Clubs of Capistrano Valley

One Via Positiva, San Juan Capistrano, CA 92675

Southern California Discovery

It’s a long story (involving a neighborhood block party), but we just discovered South Coast Farms in San Juan Capistrano. South Coast Farms is an organic farm and farm stand that is open Monday- Saturday 9:00 am - 5:00 pm and Sundays 9:00 am - 4:00 pm. The Farm participates in a Community Supported Agricultural (CSA) program. The CSA concept at South Coast Farms is a partnership between local organic farmers and the consumer. Members of the CSA may purchase baskets of seasonal organic fruits and vegetables that are delivered to their homes weekly or biweekly. If it’s fresh and locally farmed, it’s in the basket. By being a member of the CSA you would not only be supporting South Coast Farms but also 5 local farms, the environment and your health. All good. For more information call 949.661.9381. Kathleen Kaiser, Creative Director at Pencilbox Studios, just signed up and will keep you updated.

South Coast Farms

32701 Alipaz St. in San Juan Capistrano

"Hide It, Lock It, or Lose It"

Pencilbox Studios participated in the “Hide It, Lock It, or Lose It” campaign initiated by the City of Dana Point in an effort to reduce property crime (In other words, a campaign to get teenagers to stop leaving their iPods out in the open, where other teenagers will steal them). Pencilbox Studios worked with Real Life Branding on the campaign. Joseph Banuelos and Bill Thompson, Pencilbox Creative Director and Imagery Director respectfully, created the initial concept and final photography. The campaign was a success at Pencilbox Creative Director Kathleen Kaiser’s house. Because of Kathleen’s prior knowledge of the campaign, her vehicle was locked when in one evening all her neighbor’s vehicles were robbed. AHHH, the perks of working in marketing.

viernes, 15 de enero de 2010

3 easy search engine optimization modifications for your Wordpress blog

If you are in the blogging majority, you want to include your page rank. There are a few things you can do from your dashboard with few technical skills. This is search engine optimization that only needs to modified once.


Get rid of your Uncategorized category
Naming all your categories gives search engine crawlers one more scent to sniff you out better.
Go to Settings > Writing > Default Post Category and choose a new default category.
Then go to Posts > Categories > delete "Uncategorized" from the list.

Add metadata to your site
I've explained this in detail on another post.
Basically, go to Appearance > Editor > header.php and replace the existing metadata:
<meta name=”list of keywords relating to your site- TIP: check your analytics tool to see what brings people to your site” content=”keywords” />
<meta name=”short description of your blog” content=”name” />

Dump your admin username
Admin usernames are both security risks and anonymous. Give search users a chance to find you by your handle.
If you want to use the email listed in your admin file for your new username, go into Users > Authors & Users > and change the admin email to another. Then, create a new user profile in Users > Add New. Be sure to make this one Administrator.
Then you must logout, login with the new username and go back to Users > Authors & Users > and delete the admin.

martes, 12 de enero de 2010

TwitterTools - open links in external window

Our site makes use of the Twitter Tools plugin, but with some minor tweaks

The only links that Twitter Tools displays with our set-up are the bit.ly links, the link to the specific tweet (e.g. "1 hr ago") and the "More Updates..." link. All of these links will open their target in the same window, but we wanted them to open an external window so the user remains on the site.

To do this, you need to locate the plugin's main coding. This is currently at:
wp-content/plugins/twitter-tools/twitter-tools.php

Now make the folllowing changes:

"More Updates Link": Change Line 812:

$output .= ' twitter_username).' '.__('More updates...', 'twitter-tools').''."\n";

To:

$output .= ' twitter_username).'" target="_blank '.__('More updates...', 'twitter-tools').''."\n";


"Time Display Link": Change Line 879:

$output .= ' '.aktt_status_url($aktt twitter_username, $tweet tw_id).'" class="aktt_tweet_time '.$time_display.'';

To:

$output .= ' '.aktt_status_url($aktt twitter_username, $tweet tw_id).'" class="aktt_tweet_time" target="_blank '.$time_display.'';


"Bit.ly links": Change Line: 881:

return $output;

To:

$output = str_replace('rel="nofollow ', 'target="_blank" rel="nofollow ', $output);
return $output;

Custom Write Panels

One of the great assets Wordpress possesses is the ability to easily customise the backend.

For example, a client needs a website for a real estate agent. The client will be posting information on the various properties available and displaying standard information on each property:

Title
Short Description
Long Description
Price
Thumbnail image
Large images
Bedrooms
Bathrooms
Generic Description (selected from a list of pre-defined descriptions)


Obviously the title and description fields can be covered using the standard Wordpress Title and Content fields. Thanks to the fantastic additions to Wordpress 2.9, Post Thumbnail images are now easy to use and reference, and the Gallery Shortcode has been in effect for a while now.

This just leaves the custom fields. There are plugins you can use, but we are control freaks and like to do thinks ourselves. So, as a starting point, we use this fantastic tutorial on Wefunction, but with a few extras.

First of all we create an array for our fields:

$track_meta_boxes =
array(
"price" => array(
"name" => "price",
"type" => "input",
"std" => "",
"title" => "Price",
"options" => "",
"description" => "Enter Property Price"),
"bedrooms" => array(
"name" => "bedrooms",
"type" => "input",
"std" => "",
"title" => "Bedrooms",
"options" => "",
"description" => "No. of bedrooms"),
"bathrooms" => array(
"name" => "bathrooms",
"type" => "input",
"std" => "",
"title" => "Bathrooms",
"options" => '',
"description" => "No. of bathrooms"),
"desc" => array(
"name" => "desc",
"type" => "select",
"std" => "",
"title" => "Description",
"options" => $desc,
"description" => "Description")

);


Notice that we have added a field called "type" to our array. This defines whether we are displaying and input box or a select box. We also add an array called $desc to the 'options' field. This could be defined as follows:

$desc = "Great for the first time buyer";
$desc = "Roomy and spacious";
$desc = "No room to swing a cat";


Now we just make a small amendment to the code to test whether we are displaying a select or input field:

if ( $meta_box == 'select' ) {
echo '';
} else {
echo '';
}


Note that this code just deals with displaying the panel. You can ascertain the necessary coding to display saved values (front and backend) from the wefunction tutorial. You will probably also want to test each of your option values against the saved value and flag it as selected if it is indeed the saved value.

We would also advise using the standard Wordpress markup when it comes to displaying the panels (something that they don't do in the wefunction tutorial). This is just for aesthetics, and it saves space.

Writing Wordpress Plugins

We're branching out this year, as well as Wordpress themes, we are now building custom plugins as well.

Although we've built a few plugins for customers sites, up until this point we haven't released anything into the Wordpress community, but all this is set to change with our first plugin.

Meantime, if you want to write Wordpress plugins, here's where you should start:

Creating Options Pages : Nearly all plugins will have some options. This page is also highly valuable if you want to add options to your themes.

Add a Widget : Your plugin may display data in a sidebar widget. Here's how!

Interact with the Database : Add your own tables to the Wordpress Database, or add/update/retrieve data that's already there.

sábado, 2 de enero de 2010

use your photos to bring in traffic

There are 3 keys to making images SEO friendly.

Naming: Use your keywords in your image title. Use hyphens between words. This image is "baby-rabbit-in-grass.jpg", get it?
Title: This is for visually impaired viewers using screen readers and those who have dial up. It's the placeholder text for your image. This one is title="baby rabbit in grass", spaces are allowed. Keep it to less than 5 words.
Alt: Keywords! Use words that relate to the image and your post.  I added alt="using images for SEO" and we're done!

The instructions are for WordPress users, but it's pretty much the same in all blogging platforms.

Upload your image into WordPress, insert it into your post and click the Edit Image button.

Go to the Advanced Settings tab

Add your text to "Edit Alternate Text" and "Title"

Or just code it in from the HTML tab
<img title="images html code" src="site.com/images/wordpress/code-for-image.png" alt="images search engine optimization" />