Linux 软件免费装
Banner图

Init Reading Position – Remember, Return, Continue

开发者 brokensmile.2103
更新时间 2026年10月18日 00:29
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

scroll reading reading progress resume reading reading position

下载

1.1 1.10 1.3 1.3.1 1.5 1.11 1.4.1 1.7 1.2 1.4 1.4.2 1.5.1 1.6 1.0.1 1.6.1 1.8 1.9

详情介绍:

Init Reading Position enhances the reading experience by remembering how far a visitor has read on a post.\ When they return, it automatically scrolls back to where they left off. Perfect for: This plugin is part of the Init Plugin Suite — a collection of minimalist, fast, and developer-focused tools for WordPress. GitHub repository: https://github.com/brokensmile2103/init-reading-position Features

安装:

  1. Upload the plugin folder to /wp-content/plugins/ or install via Plugins → Add New.
  2. Activate the plugin.
  3. Go to Settings → Reading Position and choose which post types should support this feature.

常见问题:

Does it sync across devices?

Yes. For logged-in users, scroll position is stored in a dedicated database table, saved separately for each device type (PC, Mobile, Tablet).

Will it work with custom post types?

Yes. You can enable it for any public post type in the plugin settings page.

Will it slow down my site?

No. It only runs a small JS script on enabled single pages and stores data efficiently in a dedicated table with indexed queries.

Does it clean up after itself when a post or user is deleted?

Yes. When a post is permanently deleted, or a user account is permanently deleted, any reading positions pointing to it are automatically removed in the background — no leftover rows for content or accounts that no longer exist.

Does it delete my readers' progress automatically?

Not unless you turn it on. Two housekeeping options are available under Settings → Reading Position, both disabled by default:

  • Clean up abandoned progress — removes a single saved position only when it hasn't been touched in a long time (configurable, default 365 days) and progress on it is very low (configurable, default under 10%). A position with high progress is always kept, no matter how old, since the reader may still come back to finish it.
  • Clean up inactive accounts — removes all saved positions for an account once none of its reading positions, across every post, have been updated in a long time (configurable, default 730 days).
Both run in small background batches (via WP-Cron) so they never lock up the database, and both pause immediately if you turn them back off.

My database is overwhelmed by reading position writes. What can I do?

If your site has a persistent object cache (Redis, Memcached…), enable Buffer writes in object cache under Settings → Reading Position (disabled by default). Every save and clear from readers is then stored in the object cache and queued; a background job (every 5 minutes by default) writes the queue to the database using one multi-row query per batch instead of one query per request. Saving the same post on the same device many times between two runs only results in a single database write. While a position is waiting to be written, it is read straight from the cache, so readers who reload the page always resume from their latest spot. Things to know before turning it on:

  • It needs a persistent object cache shared by all of your web servers. Without one, the option has no effect and positions are written directly to the database as usual.
  • Positions saved after the last background run can be lost if the object cache is flushed or evicts them before they are written. The settings page shows how many positions are pending and when the last run happened.
  • If the background job stops running (for example WP-Cron is disabled with no system cron), the plugin detects it and automatically falls back to writing directly to the database. For busy sites, running WP-Cron from a real system cron job is recommended.
  • Turning the option off, or deactivating the plugin, writes any pending positions to the database first.
Developers can tune it with the init_plugin_suite_reading_position_flush_interval (seconds, default 300, minimum 60), init_plugin_suite_reading_position_flush_batch (rows per batch, default 500), init_plugin_suite_reading_position_write_behind_ttl (seconds, default 1 day) and init_plugin_suite_reading_position_write_behind_active filters.

更新日志:

1.11 – October 17, 2026 1.10 – September 28, 2026 1.9 – September 10, 2026 1.8 – August 2, 2026 1.7 – August 1, 2026 1.6 – April 23, 2026 1.5 – April 23, 2026 1.4 – April 21, 2026 1.3 – April 21, 2026 1.2 – November 12, 2025 1.1 – November 5, 2025 1.0 – May 20, 2025