Publica.now is a publishing and selling service for independent creators. You upload a book, an audiobook, a course, a video or a design file, and the service hosts it, runs checkout and payment processing, delivers the file, runs the in-browser reader and player, prints and ships paperbacks on demand, handles refunds and buyer support, and pays you out. This plugin is the WordPress client for that service.
Connecting is a real account link, not an embed code. When you click Connect the plugin registers its own read-only API client with publica.now (OAuth 2.0 client credentials, scope catalog:read), stores those credentials in your database and uses them for every later request. Your pages then read live data from the API: which works are published, the effective price right now including any running sale and the date it ends, whether a work is free, its formats, languages and rating, whether a print edition can be ordered, and the right hosted checkout, reader or print-order address. Change a price, start a sale or unpublish a title and your pages follow within the cache window, with nothing to edit here.
Blocks and shortcodes render that data — cover, title, author, format badge, price with the sale price struck through, rating — with a Buy, Read free or Order paperback button. Those buttons hand the reader to publica.now, the store of record: your site never processes a payment, stores a file or holds buyer data. Every outbound link carries this site’s host name, so publica.now attributes the sale back to your website.
Not on publica.now yet? An account is free and there is no monthly fee. Current service fees are published at publica.now/pricing; create an account at publica.now/access/creator.
No e-commerce runs on WordPress: no cart, checkout, downloads or buyer records, no WooCommerce, no tracking scripts, no advertising.
Blocks and shortcodes
Three dynamic blocks appear in the editor under Publica.now, each with a live preview: Catalog (a grid or list), Work (one work as a card or inline row) and Buy Button. The shortcodes take the same options:
[publicanow_works limit="12" columns="3" layout="grid" order="newest"]
[publicanow_work id="your-work-slug" layout="card"]
[publicanow_button work="your-work-slug" format="auto"]
[publicanow_works] accepts `creator`, `content_type` (`literary`, `audiobook`, `music`, `video`, `course`, `zine`, `photography`, `design`, `print`), `free` (`yes|no|any`), `ids`, `exclude`, `order`, `limit` (`0` = all), `columns` (1-6), `layout` (`grid|list`), `show_excerpt`, `show_rating`, `show_author`, `show_type`, `button_text`, `class`. `[publicanow_work]` takes `id`, `layout` (`card|inline`), `show_excerpt`, `button_text`, `class`; `[publicanow_button]` takes `work`, `text`, `format`, `class`. `format` is a preference, not a filter: a work with no digital edition still shows **Order paperback**.
Theming and hooks
The markup inherits your theme’s font and exposes CSS custom properties you can override:
--publicanow-accent
--publicanow-ink
--publicanow-muted
--publicanow-radius
Any template in templates/ can be overridden by copying it to {your-theme}/publica-now/. Filters: publicanow_work, publicanow_creator, publicanow_link_args, publicanow_button_label, publicanow_template_vars, publicanow_jsonld, publicanow_cache_ttl. Actions: publicanow_connected, publicanow_disconnected, publicanow_cache_purged. Each surface outputs one schema.org JSON-LD block with an Offer pointing at publica.now; add_filter( 'publicanow_jsonld', '__return_empty_array' ) disables it. The plugin sets no cookies and loads no third-party scripts; see External Services below, and Settings Privacy for suggested policy text.
This plugin connects to publica.now (https://publica.now), a publishing and selling service for independent creators operated by Publica.la. It does not work without a publica.now account and makes no request until you connect one.
What is sent, and when
utm_source.What is received: public catalog data (titles, authors, descriptions, prices, sale dates, formats, ratings, cover images) and your public profile (name, avatar, website, works count) — all already visible to anyone on publica.now. The plugin sets no cookies, loads no scripts or styles from publica.now, and sends analytics nowhere.