WordPress plugin
The plugin (Diazoma Wall for WordPress) publishes your posts, and WooCommerce products, as a wall. It needs PHP 8.1 or newer and WordPress 6.0 or newer. It adds:
GET /wp-json/diazoma/v1/feed?type=post&cursor=&q=&limit=, a feed with keyset paging (limitdefaults to 50, at most 100);/.well-known/wall.json, a manifest built from the settings;<link rel="wall-manifest">and<link rel="wall-feed">inwp_head;- an optional
/xrpage that prints the embed<script>tag.
Install
Section titled “Install”- Copy the plugin directory to
wp-content/plugins/diazoma-wall. - If you cloned the repository, run
composer install --no-devinside it. Withoutvendor/the plugin falls back to a built-in loader and still works. - Activate the plugin. Activation flushes the rewrite rules.
- Open Settings, Diazoma Wall and choose:
- the post types to publish;
- the accent colour (a warning shows when its contrast is below 4.5:1);
- the policy (
allow,denyorrecipes-only); - whether to serve the
/xrpage; - the script base URL: the directory that holds
diazoma-embed.jsandwall.iife.js.
Only public post types can be requested. A non-public type returns 403 and an unknown one returns 400.
Change how the wall looks
Section titled “Change how the wall looks”The manifest passes through the diazoma_wall_manifest filter just before it is served. Use it to add a view:
action buttons, the info panel, rows, colours and texts. The shape and limits are in View customization.
add_filter( 'diazoma_wall_manifest', function ( array $manifest, array $settings ): array { $manifest['view'] = array( 'wall' => array( 'rows' => 4 ), 'theme' => array( 'colors' => array( 'accent' => '#c9334f' ) ), ); return $manifest;}, 10, 2 );A filter that does not return an array is ignored.
nginx: allow /.well-known
Section titled “nginx: allow /.well-known”Many nginx configurations deny dotfiles with location ~ /\. { deny all; }. That also blocks
/.well-known/wall.json. Add an exception before that rule:
location ^~ /.well-known/ { try_files $uri /index.php?$args;}Apache needs no change with the standard WordPress .htaccess.