How to clean up wp_head() without a plugin

November 20, 2013 at 6:10 pm

WordPress adds a lot of stuff through wp_head() hook included in most WordPress themes. Some of this stuff is useful, but some other isn’t. Here’s a quick recipe to clean up the wp_head() easily without using a plugin.

Paste the following lines of code into your functions.php file:

remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'start_post_rel_link' );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );

Thanks to Noumaan Yaqoob for the code!

How to change contents of a dashboard help tab

November 5, 2013 at 5:09 pm

WordPress has a little tab in the top-right corner that, when clicked, drops down some contextual help. Here is a super useful function to hook different help text to different pages.

Simply paste the code below into your functions.php file.

//hook loading of new page and edit page screens
add_action('load-page-new.php','add_custom_help_page');
add_action('load-page.php','add_custom_help_page');

function add_custom_help_page() {
   //the contextual help filter
   add_filter('contextual_help','custom_page_help');
}

function custom_page_help($help) {
   //keep the existing help copy
   echo $help;
   //add some new copy
   echo "<h5>Custom Features</h5>";
   echo "<p>Content placed above the more divider will appear in column 1. Content placed below the divider will appear in column 2.</p>";
}

Thanks to WP Tuts for the tip!

How to disable automatic updates in WordPress 3.7

October 28, 2013 at 4:53 pm

In WordPress 3.7, there’s a new and interesting feature which allow your blog to automatically upgrade when a new version is available. I think it’s really cool, but if you don’t like it for some reason, here’s a quick recipe to turn it off.

To disable automatic updates, open your wp-config.php file and paste the following line in it:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Once you saved the file, automatic updates will be turned off and you’ll have to manually upgrade your blog again.

Log in a WordPress user programmatically

October 24, 2013 at 4:06 pm

When building WordPress based websites, it can be very useful to know how to programmatically log in an user. Here is a reusable function to do it easily.

Here is the function, drop it in your functions.php file:

function auto_login( $user ) {
    $username = $user;
    if ( !is_user_logged_in() ) {
        $user = get_userdatabylogin( $username );
        $user_id = $user->ID;
        wp_set_current_user( $user_id, $user_login );
        wp_set_auth_cookie( $user_id );
        do_action( 'wp_login', $user_login );
    }     
}

Then, to log in a user, do the following:

auto_login( 'admin' )

Thanks evilsocket for the code!

Template Monster giveaway: 3 WordPress themes to win!

October 18, 2013 at 4:05 pm

It’s been a long time since out last giveaway! Today, I’m glad to offer 3 outstanding WordPress theme from our sponsor TemplateMonster. Joining the giveaway is free and easy, so join in!

A word about Template Monster

Template Monster is a world leader in the web template business, with over 20,000 templates available. They provide HTML templates as well as theme for CMS such as WordPress, Joomla, and others.
To learn more about Template Monster or browse available themes, just have a look to their website.

How to join the giveaway?

Joining the giveaway is free and easy. First, have a look to Template Monster themes and find the theme you’d like to win. Then, simply leave a comment below to let me know which theme you’d like to win.

In one week I’ll randomly pick 3 winners. They’ll receive the chosen theme directly from TemplateMonster.

Good luck everyone!

WordPress tip: Add a custom message to the editing pane

October 17, 2013 at 4:18 pm

When creating a WordPress site for a non tech-savvy user, it can be very useful to be able to display a custom message on the post editor page. Here’s a very simple hook to do it.

Copy the following snippet and edit the message on line 5. Once done, paste it on your functions.php file and save.

function wptutsplus_text_after_title( $post_type ) { ?>
    <div class="after-title-help postbox">
        <h3>Using this screen</h3>
        <div class="inside">
            <p>Use this screen to add new articles or edit existing ones. Make sure you click 'Publish' to publish a new article once you've added it, or 'Update' to save any changes.</p>
        </div><!-- .inside -->
    </div><!-- .postbox -->
<?php }
add_action( 'edit_form_after_title', 'wptutsplus_text_after_title' );

Thanks to WP Tuts for this great tip!

How to order posts by two meta values

October 15, 2013 at 4:20 pm

By default, WordPress allows you to sort results of a query by one meta value, but what if you need to sort results by two meta values (For example date and time)? Here ‘s a working example.

Paste the code below in your template file where you need to sort the results of the query.

<?php 

$query = "SELECT wposts.*, wpostmeta1.*, wpostmeta2.* 
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta1, $wpdb->postmeta wpostmeta2
WHERE wposts.ID = wpostmeta1.post_id
AND wposts.ID = wpostmeta2.post_id
AND wpostmeta1.meta_key = 'date'
AND wpostmeta2.meta_key = 'time'
ORDER BY wpostmeta1.meta_value ASC,
         wpostmeta2.meta_value ASC";

$results = $wpdb->get_results($query);

foreach ( $results as $result ) {
         //output results as desired
} ?>

Please note that this query is given as an example and might need to be adapted to fit your specific needs. If you need help at a cheap rate, contact WPCAT.

WordPress hack: Redirect to a custom page after registration

October 9, 2013 at 4:33 pm

Here is a very handy code snippet to redirect the user to a custom page after registration on your WordPress blog or website. Super useful for those using WP as a CMS!

Simply drop this snippet in your functions.php or a plugin.

function __my_registration_redirect(){
    return home_url( '/my-page' );
}
add_filter( 'registration_redirect', '__my_registration_redirect' );

Thanks TheDeadMedic for the tip!

WordPress tip: How to get the first link in post

October 7, 2013 at 3:41 pm

Remember when I shown you how to get the first image from a post? Today, I’m going to let you know how you can easily grab the first link from the post content.

Put the function below in your functions.php file, then use it inside the loop in your template files.

function get_link_url() {
    $content = get_the_content();
    $has_url = get_url_in_content( $content );

    return ( $has_url ) ? $has_url : apply_filters( 'the_permalink', get_permalink() );
}

Thanks to Filip Stefansson for the tip!

By the way, I just created a new service called WPCAT, where I offer my help to fix or enhance your WordPress site for a cheap rate. Don’t wait and contact me right now if you need any help with WordPress!

How to change author url base on your WordPress site

October 2, 2013 at 4:23 pm

In WordPress, author profile are by default accessible using the url yoursite.com/author/name. But what if you want to use the term “profile” instead of “author” in the url? Here is a handy recipe to do so.

Pasting the following code on your functions.php file will change the default yoursite.com/author/name to yoursite.com/profile/name.
Replace profile on line 4 by any slug you want.

add_action('init', 'cng_author_base');
function cng_author_base() {
    global $wp_rewrite;
    $author_slug = 'profile'; // change slug name
    $wp_rewrite->author_base = $author_slug;
}

Thanks to Kevin Chard for the cool tip!