Post Author IP

Post Author IP Install Statistics

0
100%
Today: 0 Yesterday: 0 All-time: 2,500 downloads
Post Author IP Icon

Try plugin: Post Author IP

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.

Takes ~10 seconds to install.

About Post Author IP

Records the IP address of the original post author when a post first gets created.

0


0


0


0


0

updated: 3 years ago
since: 6 years ago
author: Scott Reilly

Description

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

Hooks

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 :

  • $show_column (bool) Should the column be shown? Default true.

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 :

  • $ip (string) The post author IP address.
  • $post_id (int) The post ID.

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 :

  • $ip (string) The post author IP address.

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 :

  • $allowed (bool) Can post author IP be saved for post? Default true.
  • $post_id (int) The post ID.
  • $ip (string) The post author IP address.

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 );