We'll create fresh WordPress site with Post Author IP installed. You have 20 minutes to test the plugin after that site we'll be deleted.
This plugin records the IP address of the original post author when a post first gets created.
The admin listing of posts is amended with a new “Author IP” column that shows the IP address of the author who first saved the post.
The plugin is unable to provide IP address information for posts that were created prior to the use of this plugin.
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
The plugin is further customizable via four filters. Typically, code making use of filters should ideally be put into a mu-plugin or site-specific plugin (which is beyond the scope of this readme to explain).
c2c_show_post_author_ip_column (filter)
The ‘c2c_show_post_author_ip_column’ filter allows you to determine if the post author IP column should appear in the admin post listing table. Your hooking function can be sent 1 argument:
Argument :
Example:
/**
* Don't show the post author IP column except to admins.
*
* @param bool $show_column Should the column be shown? Default true.
* @return bool
*/
function post_author_ip_column_admin_only( $show ) {
if ( ! current_user_can( 'manage_options' ) ) {
$show = false;
}
return $show;
}
add_filter( 'c2c_show_post_author_ip_column', 'post_author_ip_column_admin_only' );
c2c_get_post_author_ip (filter)
The ‘c2c_get_post_author_ip’ filter allows you to customize the value stored as the post author IP address. Your hooking function can be sent 2 arguments:
Arguments :
Example:
/**
* Store all IP addresses from local subnet IP addresses as the same IP address.
*
* @param string $ip The post author IP address.
* @param int $post_id The post ID.
* @return string
*/
function customize_post_author_ip( $ip, $post_id ) {
if ( 0 === strpos( $ip, '192.168.' ) ) {
$ip = '192.168.1.1';
}
return $ip;
}
add_filter( 'c2c_get_post_author_ip', 'customize_post_author_ip', 10, 2 );
c2c_get_current_user_ip (filter)
The ‘c2c_get_current_user_ip’ filter allows you to customize the current user’s IP address, as used by the plugin. Your hooking function can be sent 1 argument:
Argument :
Example:
/**
* Overrides localhost IP address.
*
* @param string $ip The post author IP address.
* @param int $post_id The post ID.
* @return string
*/
function customize_post_author_ip( $ip, $post_id ) {
if ( 0 === strpos( $ip, '192.168.' ) ) {
$ip = '192.168.1.1';
}
return $ip;
}
add_filter( 'c2c_get_post_author_ip', 'customize_post_author_ip', 10, 2 );
c2c_post_author_ip_allowed (filter)
The ‘c2c_post_author_ip_allowed’ filter allows you to determine on a per-post basis if the post author IP should be stored. Your hooking function can be sent 3 arguments:
Arguments :
Example:
/**
* Don't bother storing localhost IP addresses.
*
* @param bool $allowed Can post author IP be saved for post? Default true.
* @param int $post_id The post ID.
* @param string $ip The post author IP address.
* @return string
*/
function disable_localhost_post_author_ips( $allowed, $post_id, $ip ) {
if ( $allowed && 0 === strpos( $ip, '192.168.' ) ) {
$allowed = false;
}
return $allowed;
}
add_filter( 'c2c_post_author_ip_allowed', 'disable_localhost_post_author_ips', 10, 3 );