What is the best way to determine a Wordpress version remotely?

I have numerous sites and its becoming a nuisance keeping them all up to date, so I would ideally like to compile a list where I can display the version of each website automatically. So I can see at the drop of a hat which ones needs updated and so on.

I have remote access to all off their databases, I had thought about querying the wp_options table for the DB Version but that isn't specific enough when it comes to smaller version updates as far as I am aware.

Any thoughts?

Answers


Here's a demo plugin

<?php

/** Plugin Name: My JSON data **/ 

add_filter( 'query_vars', function( $qv ){
    $qv[] = 'mydata';
    return $qv;
});

add_action( 'template_redirect', function(){

    $input = get_query_var( 'mydata' );
    $secret = 'abcdefg'; // Edit this

    if( ! empty( $input ) )
    {
        if( $secret === $input )
        {
            $data = array( 
                        'version'   => $GLOBALS['wp_version'],
                        'foo'       => 'bar', 
                    );

            wp_send_json_success( $data );
        }
        else
        {       
            wp_send_json_error();
        }   
    }

} );

where example.com/?mydata=abcdefg gives

{"success":true,"data":{"version":"3.8.1","foo":"bar"}}

and example.com/?mydata=wrong shows:

{"success":false}

I wouldn't recommend trying to bridge a system to check WordPress, espiecally since the WordPress core since 3.7.1 comes with this functionality.

WordPress 3.7.1+ Auto Updates, so it would be best to upgrade all your WordPress sites - this would also be a great idea for security purposes.

What you might want to consider is removing any redundant plugins and have a plan for updating those plugins every few months too.

3rd-party plugins are usually the reason a site is vulnerable, more so than the core of WordPress. Fight the fire before it becomes a fire in the first place! Use less plugins or keep on top of them.


Need Your Help

difference between mutex_init and DEFINE_MUTEX

linux linux-kernel locking concurrency

I am using mutex lock in my kernel code. In linux/mutex.h, I came across following: