Add Infinite Scroll to the WordPress Admin

photo credit: தேவையில்லை காரணங்கள், நீ எங்கே? - (license)
photo credit: தேவையில்லை காரணங்கள், நீ எங்கே?(license)

The WordPress admin list tables can get quite lengthy to browse if you’re relying on regular pagination, especially when you need to perform bulk actions.

As of WordPress 4.0, the grid view of the media library has beautiful support for infinite scrolling, but list tables for posts and users still rely on old-fashioned pagination. Setting the screen options to include more listings can help, but this, too, can become cumbersome.


Infinite WP List Tables is a new plugin created by WordPress developer Brady Vercher. It’s a simple extension that adds infinite scroll to several pages within the admin, i.e. posts and users. Infinite WP List Tables has no settings to configure – simply activate it and it’s working.


I tested the plugin both on a single site and on a multisite installation with thousands of sites and users. In both scenarios the plugin performed nicely to infinitely scroll admin list tables for sites, posts, and users.

It does not seem to work with comments, nor does it work with third party plugin tables such as the BuddyPress activity and groups admin listings. Integrations for plugins that display products, portfolio items, quotes, or other listings in the admin would make it even more useful, but I can see why Vercher might want to limit the plugin to core admin list tables.

Do you think something like this should be added to core, given that the media library works nicely with infinite scroll? As far as I’ve seen, no tickets currently exist on trac to propose infinite scroll for other areas of the admin. Do you prefer traditional pagination for sites, posts, users, and comment list tables?

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.


  1. Very cool, I would use it.


  2. Cool, gonna try out that plugin. Seems like a functionality that could very well be added to the core, as an option at least. Having to go through a lot of pages when managing a blog with hundreds of posts can be a bit of a pain.


  3. Thanks for the write up, Sarah! I actually wrote the plugin a couple years ago for myself, but it was buried in a Gist.

    I just found out a few days ago that Kathy Darling also published the same plugin only a few days before I wrote mine and it looks like it has support for comments.


    1. Why not have your plugin in the plugin directory so it’s easy for people to install?


      1. To be honest, I didn’t really expect the plugin to receive any attention, but the expectation of free support and SVN workflow are the main reasons I don’t release plugins in the directory as much anymore.

        Why not make it easier for people to discover and install plugins from external sources?


  4. definitely trying this out – pagination is super painful.


  5. This is great. Can’t wait to give it a test drive. Awesome featured image too! ;)


  6. I’ll vote against it being in core. As a plugin, sure. Infinite scroll unworks so often, for one thing.

    For the tedious page-after-page stuff I find that bulk editing covers that reasonably well for what I end up doing.


  7. This is great plugin, does this work on woocommerce product pages? Gonna try this plugin.


    1. Hi Drew, I did a basic test with some dummy data and it looks like it should work fine with WooCommerce product screens.


  8. To my point of view, problem is that the current code for admin pages to display the content of admin tables in core has not been designed as an api and/or should be more object oriented (post, user, taxonomy …) so plugin could easily re-use it !


  9. Pagination was the solution to the frustrations of infinite scroll, around 2,000 years ago. “Scrolls” were obnoxious to handle, and a nightmare to cite or reference. Rich owners of libraries built special racks so they could just leave scrolls open to their last reading-spot. Some unrolled the whole thing – permanently – and climbed up & down ladders to read.

    If you seriously have a lot of stuff to display, then seriously you need pagination.

    The invention of the paginated Codex (ie, paged book) enabled citation & reference as we know it, and led directly to an explosion of research & information-dissemination … heretofore ‘locked away’ in scrolls. WordPress calls its tech-library, “Codex”, in cogent homage to the value of structuring facts & knowledge … and repeatable, predictable access to it.

    Infinite scroll can be fun in certain ways & situations for users, and of course developers never met a novelty they didn’t become infatuated with. Generally though, using pages is the imperfect solution that delivers the most, at the least cost. Think Democracy, and human rights: less than ideal, high-maintenance, and often abused … but as good as it gets, and where would we be without it?

    With infinite scroll, think “frames” and “fixed content blocks”. Handy tech in specific contexts – but deprecated by over-enthusiastic or outright inappropriate deployment.


    1. Ted, you make an excellent point. I am genuinely curious to know what others perceive the benefits of traditional pagination to be in the context of the WordPress admin.


      1. It’s true, Sarah, that Admin-nav sux. I had some regret, neglecting your basically right-on core-point, to firstly counter the suggested medicine of infinite scroll, slash, defend the utility of pagination.

        Maybe like the offspring who find their Parent’s intelligence mysteriously increasing over the years … Admin-conditions are not near the adversity they used to be, for me. It used to be eg, like in Jeff’s recent post, that Meta-boxes bothered me. Now, I have several times as many Meta inputs (doctors offer plugin-therapy now, but I’ve refused treatment), and the big run-on page full of them doesn’t bother me at all.

        Let me mention Genealogy. I got to re-know Dad, as he taught me our family tree. (He was a pre-PC Home Computer-based business operator, and gravitated into genealogy software.) There’s over 5,000 names and nearly as many relationships in our GEDCOM. All navigation is via drop-down text-boxes. Five thousand names etc in one ridiculous list.

        There is something like the Qwerty keyboard-effect at work here. Or maybe it’s an organic Binary Search. But what is plain is the fingers know about how far to jerk the scroll-bar, to drop you … it’s bizarre how often the target-name is among the dozen or so in the box.

        So I’m in WordPress-admin, and picturing baggy-pants duffers and blue-haired ladies wingin’ through much larger data-sets than most websites, and with nothing like the data-management sophistication, scarcely even aware that what they’re doing should be hard … and in fact drives their computer & Internet-betters up the wall.

        One of my last Admin hostile-frontiers, is the Media-library interface example you use as a success-story. It’s true I have a slow connection … but the fact is, infinite scroll wants to load-up a gob of images I have absolutely no interest in looking at … ’cause all I want, is to have it upload my one little post-pic.

        Point #2, which may be more noticeable on a slow connection, is that “infinite scroll” … like the old Saturday Night Live show-opener joke that “This Program has been pre-recorded – because we couldn’t figure out any other way to do it!” … so-called infinite scroll is doing something very like paginating (and disruptively). If pagination is so-yesterday, why is our infinite-presentation device essentially recreating it?? ;)

        Lastly (for now), why oh why is a space & room-intensive UI like Media coming up in a dainty new-age Dialog Box? Why are we using a subset of the screen, divvied up into tiny postage-stamp content-boxes to navigate …. Matt’s 10s of thousands of photos? Ugh.

        Forget both pagination and unhinged scrolling … let’s have the Media tool be half as smart as our grandparents’ genealogy program.


Comments are closed.