Library Technology – Reviews, Tips, Giveaways, Freeware

3 Small But Useful WordPress Tips

Posted In WordPress, Wordpress tips - By Jack on Saturday, November 12th, 2011 With No Comments »

1. Check if an option is empty and assign default value

I usually use the following code to check if an option is empty and set the default value if it isn’t:

$option = get_option( ‘option_name’ ); if ( ! $option ) $option = $default_value;

But there is a better way to set option value if it doesn’t exists:

$option = get_option( ‘option_name’, $default_value );

The function get_option() accepts 2nd parameter as default option value. Using this parameter, we don’t need to write more code to check if the $option is empty anymore. It keeps our code shorter and cleaner.

2. Conditional check for multiple posts and pages

At Deluxe Blog Tips, I don’t want to show AddToAny buttons on pages ‘About’, ‘Contact’ and ‘Archives’, so I used a conditional tag is_page():

if ( ! is_page( ‘about’ ) && ! is_page( ‘contact’ ) && ! is_page( ‘archives’ ) ) if ( function_exists( ‘ADDTOANY_SHARE_SAVE_KIT’ ) ) ADDTOANY_SHARE_SAVE_KIT();

But doing 3 checks is not optimal. I want a simple check statement. And I found that theis_page() function accepts an array of page parameters (IDslug, etc.). So I rewrite the code above with the following:

if ( ! is_page( array( ‘about’, ‘contact’, ‘archives’ ) ) && function_exists( ‘ADDTOANY_SHARE_SAVE_KIT’ ) ) ADDTOANY_SHARE_SAVE_KIT();

It’s shorter and more elegant, right?

Not only is_page(), but also is_single()is_category()is_tax() accept an array as their arguments. Check out the Codex for more information.

3. Get the template name of current page

We all know that in a page template, we can use is_page_template('template_name.php') to check if current page has template template_name.php. But there’s a situation like this: you’re trying to list sub-pages of the current page, and each sub-page might have its own template file. How can you get the template file of the sub-pages?

I’ve found a simple solution for that situation. The template file name is saved in page’scustom field named _wp_page_template. So, checking the template name is easy as the following:

$template_file = get_post_meta( get_the_ID(), ‘_wp_page_template’, true ); if ( ‘custom_template.php’ == $template_file ) { // Do stuff } else { // Do stuff }

More contents in:

About -