Post Author IP
This plugin records the IP address of the original post author when a post first gets created.
Consider an alternative
Post Author IP shows warning signs in 2026 — compare the alternatives below before installing. It runs on 60+ sites and was last updated 5 years ago, and scores 25/100 on our health check.
- Small user base (60+ active installs)
- Very few reviews so far
- No update in 5 years
- Only tested up to WordPress 5.7 (latest is 7.1)
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Post Author IP stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| audit | >100 |
| author | >100 |
| ip | >100 |
| ip address | >100 |
| post | >100 |
Version adoption
Share of active sites per release.
About Post Author IP
From the official readme · v1.4Description
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 );
Installation
- Install via the built-in WordPress plugin installer. Or download and unzip
post-author-ip.zipinside the plugins directory for your site (typicallywp-content/plugins/) - Activate the plugin through the ‘Plugins’ admin menu in WordPress
Frequently asked questions
If a post is originally drafted at one IP address, then later worked on at another IP address, which IP address gets recorded?
The IP address in use at the time that the post is first saved (regardless of whether the post was saved as a draft, immediately published, or some other status) will be recorded.
Are other IP addresses in use during the post’s handling (such as when it is edited, published, etc) also tracked?
No, this plugin only records the IP address in use when the post was first saved.
How do I see (or hide) the “Author IP” column in an admin listing of posts?
In the upper-right of the page is a “Screen Options” link that reveals a panel of options. In the “Columns” section, check (to show) or uncheck (to hide) the “Author IP” option.
Is this plugin compatible with the new block editor (aka Gutenberg)?
Yes. This plugin is compatible with the block editor as well as the classic editor.
Is this plugin GDPR-compliant?
Yes. The IP address stored for authors on the posts they created will be exported on data export requests and deleted for data erasure requests.
Does this plugin include unit tests?
Yes.
Changelog
Recommended update: added GDPR compliance for data export and erasure, modernized block editor implementation, restructured unit test files, noted compatibility through WP 5.7, and updated copyright date (2021).
1.4 (2021-06-09)
Highlights:
This recommended release adds GDPR compliance for data export and erasure, modernizes block editor implementation, restructures unit test files, and notes compatibility through WP 5.7.
Details:
- New: Add GDPR compliance for data export and erasure
- New: Add
register_privacy_erasers()andremove_ip_address_from_posts_by_email()for handling data erasure requests - New: Add
register_data_exporter()andexport_user_data_by_email()for handling data export requests - New: Add
add_privacy_policy_content()for outputting suggested privacy policy snippet - New: Add FAQ entry denoting GDPR compliance
- New: Add
- Change: Modernize block editor implementation and update JS dependencies
- Change: Remove check for theme support of HTML5 since that isn’t relevant to admin
- Change: Enable script translations
- Change: Note compatibility through WP 5.7+
- Change: Update copyright date (2021)
- Unit tests:
- Change: Restructure unit test directories and files into
tests/top-level directory - Change: Remove ‘test-‘ prefix from unit test files
- Change: In bootstrap, store path to plugin file constant
- Change: Rename
phpunit.xmltophpunit.xml.distper best practices
- Change: Restructure unit test directories and files into
- New: Add a few more possible TODO items
1.3 (2020-08-06)
Highlights:
This recommended release adds support for all public post types, reduces column width, improves meta key handling, expands unit testing, adds a TODO.md file, updates compatibility to be WP 4.9 through 5.4+, and more internally.
Details:
- New: Enable plugin functionality for all public post types by default
- New: Add
get_post_types()for retrieving post types - New: Add filter
c2c_stealth_publish_post_typesto filter post types
- New: Add
- New: Add
is_protected_meta()to protect the meta key from being exposed as a custom field - New: Improve configurability and accessibility of meta key name
- New: Add
get_meta_key_name()as getter for meta_key name - New: Add filter
c2c_post_author_ip_meta_keyfor customizing meta key name
- New: Add
- New: Add
rest_pre_insert()to add meta key as first-class object property prior to REST-initiated update - New: Add HTML5 compliance by omitting
typeattribute forstyletag when the theme supports ‘html5’ - New: Add TODO.md for newly added potential TODO items
- Change: Reduce width of ‘Author IP’ column
- Change: Remove duplicate hook registration
- Change: Note compatibility through WP 5.4+
- Change: Drop compatibility for version of WP older than 4.9
- Change: Update JS dependencies
- Change: Tweak formatting of CSS styles
- Change: Update links to coffee2code.com to be HTTPS
- Unit tests:
- New: Add tests for
add_admin_css(),admin_css(),add_post_column(),enqueue_block_editor_assets(),handle_column_data() - New: Add tests for
include_column(),register_meta(),show_post_author_ip(),transition_post_status() - New: Add test for default hooks
- Change: Use
get_meta_key_name()to set default meta key used by tests - Change: Remove unnecessary unregistering of hooks in
tearDown() - Change: Use HTTPS for link to WP SVN repository in bin script for configuring unit tests
- New: Add tests for
1.2.1 (2020-01-06)
- New: Unit tests: Add test to verify plugin hooks
plugins_loadedaction to initialize itself - Change: Note compatibility through WP 5.3+
- Change: Update JS dependencies
- Change: Update copyright date (2020)
Full changelog is available in CHANGELOG.md.
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Post Author IP alternatives
All audit plugins →FAQ
Post Author IP: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Sep 28, 2026
Is Post Author IP free?
Yes. Post Author IP is free to download and use from the official WordPress.org plugin directory.
Is Post Author IP safe to use in 2026?
Post Author IP shows warning signs in 2026 — compare the alternatives below before installing. It runs on 60+ sites and was last updated 5 years ago, and scores 25/100 on our health check.
How many websites use Post Author IP?
Post Author IP is active on 60+ WordPress websites and has been downloaded 3,720 times since it launched in February 2018. It was downloaded 70 times in the last 30 days.
Does Post Author IP work with WordPress 7.1?
Post Author IP is officially tested up to WordPress 5.7.19, while the latest release is 7.1.2. It may still work, but try it on a staging site first.
When was Post Author IP last updated?
The latest version, 1.4, was released on June 10, 2021 (5 years ago).
Who makes Post Author IP?
Post Author IP is developed and maintained by Scott Reilly.
What are the best alternatives to Post Author IP?
The most popular alternatives to Post Author IP are Audit Trail (20K+ installs), MYAIO (300+ installs) and Sa11y, the accessibility qu… (300+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card


