Download the PHP package boxybird/inertia-wordpress without Composer
On this page you can find all versions of the php package boxybird/inertia-wordpress. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download boxybird/inertia-wordpress
More information about boxybird/inertia-wordpress
Files in boxybird/inertia-wordpress
Package inertia-wordpress
Short Description The WordPress adapter for Inertia.js
License MIT
Informations about the package inertia-wordpress
Inertia.js WordPress Adapter
The unofficial Inertia.js server-side adapter for WordPress.
Installation
Option 1: Install the package via composer. (Recommended)
Option 2: Clone or download as a plugin and run composer install
before activating in WordPress Admin.
Bare-bones Example Theme
Example Movie CPT WordPress Project
- Demo: https://wp-inertia.andrewrhyand.com
- Theme: https://github.com/boxybird/wordpress-inertia-demo-theme
Inertia Docs
- Links: https://inertiajs.com/links
- Pages: https://inertiajs.com/pages
- Requests: https://inertiajs.com/requests
- Shared Data: https://inertiajs.com/shared-data
- Asset Versioning: https://inertiajs.com/asset-versioning
- Partial Reloads: https://inertiajs.com/partial-reloads
Root Template Example
Location: /wp-content/themes/your-theme/app.php
Root Template File Override
Location: /wp-content/themes/your-theme/functions.php
By default the WordPress adapter will use the app.php
from .../your-theme/app.php
. If you would like to use a different file name, you can change it. E.g. .../your-theme/layout.php
.
Inertia Function Output Override
By default the bb_inject_inertia()
function returns <div id="app" data-page="{...inertiaJsonData}"></div>
. If you need to override the div
id, you can.
Inertia Response Examples
Basic
Location: /wp-content/themes/your-theme/index.php
Less Basic
Location: /wp-content/themes/your-theme/index.php
This may look busy, however it can be thought of as a "Controller". It gives you a place to handle all your business logic. Leaving your Javacript files easier to reason about.
Quick Note
You may be wondering what this moster line above does:
Because we can't use the WordPress function the_content()
outside of a traditional theme template setup, we need to use get_the_content()
instead. However, we first need to apply the filters other plugins and WordPress have registered.
Matter of fact, we can't use any WordPress function that uses echo
, and not return
.
But don't fret. WordPress typically offers a solution to this caveat: get_the_title()
vs the_title()
, get_the_ID()
vs the_ID()
, and so on...
Reference: https://developer.wordpress.org/reference/functions/
Shared data
Location: /wp-content/themes/your-theme/functions.php
Asset Versioning
Location: /wp-content/themes/your-theme/functions.php
Optional, but helps with cache busting.