WordPress

WordPress Functions PHP Super Useful Snippets

Adding Code snippets to the WordPress functions.php file enables you to perform actions and use filters in a way that will improve functionality of your WordPress site which can make your theme more organised and cleaner. Here is a bunch of useful snippets to further enhance your WordPress theme.

Image Provided by Gil C / Shutterstock.com

Responsive Images

Having to edit, replace or upload every single image in your WordPress installation to make it responsive would be extremely daunting. This little snippet you can add a class to all your past and future images.

In this example I will use the img-responsive class from bootstrap but if you have your own replace img-responsive on line 4.

function add_image_responsive_class($content) {
   global $post;
   $pattern ="/<img(.*?)class="(.*?)"(.*?)>/i";
   $replacement = '<img$1class="$2 img-responsive"$3>';
   $content = preg_replace($pattern, $replacement, $content);
   return $content;
}
add_filter('the_content', 'add_image_responsive_class');

Enqueue Scripts and Styles for Internet Explorer using Conditional Comments

Thanks to WordPress version 4.2  you can now target older versions of IE using Conditional Comments without having to hardcode them in your WordPress header theme file.

The following example HTML5shiv JavaScript will load in Internet Explorer 9 and under.

wp_enqueue_script( 'html5shiv', '//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv.js' );
wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );

This example an IE only CSS file will load in Internet Explorer 9 and under.

wp_enqueue_style( 'my_ie', get_template_directory_uri() . '/css/ie.css');
wp_style_add_data( 'my_ie', 'conditional', 'lt IE 9' );

Redirect Author URL to About Page

If you are the only blog author then having an author page displaying all of your latest posts seems pretty pointless. Why not redirect your users to your about page instead.

add_filter( 'author_link', 'my_author_link' );

function my_author_link() {
    return home_url( 'about' );
}

Removing the version number from Scripts and Styles

Speed up your WordPress site by removing the script and styles version number which, as a result, will also improve your overall score when using PageSpeed etc.

function wow_remove_script_version( $src ){
    return remove_query_arg( 'ver', $src );
}
add_filter( 'script_loader_src', 'wow_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'wow_remove_script_version', 15, 1 );

De-Registering Styles

Interested in reducing the amount of HTTP Requests? If every plugin loads a front-end CSS file this could result in slowing your blog down further, particularly if you are not using a caching plugin.

If the plugin you use is pretty stable then you could disable the stylesheet and add the content directly to your theme stylesheet.  In this example I have disabled the contact form 7 CSS file.

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );

function my_deregister_styles() {
    wp_deregister_style( 'contact-form-7' );
}

Search Posts Only

If you prefer not to have pages appearing in your default WordPress search.  This little snippet will filter only the posts and include them in the search results.

function SearchFilter($query) {
    if ($query->is_search) {
            $query->set('post_type', 'post');
            }
            return $query;
            }

add_filter('pre_get_posts','SearchFilter');

Attach Permalink to Post Thumbnail

This little snippet adds a permalink to all of your post thumbnail images.

add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 );

function my_post_image_html( $html, $post_id, $post_image_id ) {
    $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
    return $html;
}

Conclusion

Do you have any favourite code snippets that you use in your WordPress blog or would like to add anymore to this list. Please feel free to send them and I’ll continue to update this post often.

Share
Published by
Tracy Ridge

Recent Posts

Hot New Web Dev – October 2024

Welcome to Hot Web Dev October 2024, featuring the latest technology and web development news.… Read More

3 weeks ago

New Svelte 5 Guessing Game 2024

In this tutorial, you’ll build a fun and interactive guessing game using Svelte 5, the… Read More

2 months ago

Hot New Web Dev – September 2024

Welcome to Hot Web Dev September 2024, featuring the latest technology and web development news.… Read More

2 months ago

New JavaScript Guessing Game 2024

The JavaScript guessing game tutorial is a simple beginner's project. It features modern JavaScript syntax… Read More

2 months ago

Hot Web Dev – 12 Useful Top Tools of 2023

If you have been following the monthly Hot Web Dev magazine you will find the… Read More

2 months ago

Hot New Web Dev – August 2024

Welcome to Hot Web Dev August 2024, featuring the latest technology and web development news.… Read More

3 months ago