{"id":84326,"date":"2018-04-12T13:39:52","date_gmt":"2018-04-12T13:39:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/presswell-art-direction\/"},"modified":"2026-04-30T17:46:02","modified_gmt":"2026-04-30T17:46:02","slug":"presswell-art-direction","status":"publish","type":"plugin","link":"https:\/\/haz.wordpress.org\/plugins\/presswell-art-direction\/","author":15825846,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.9.4","requires":"6.1","requires_php":"","requires_plugins":null,"header_name":"Presswell Art Direction","header_author":"Presswell","header_description":"Control how image thumbnail sizes are defined, cropped, and generated.","assets_banners_color":"644f00","last_updated":"2026-04-30 17:46:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/presswell-art-direction","header_author_uri":"https:\/\/presswell.co","rating":5,"author_block_rating":0,"active_installs":100,"downloads":4797,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.7":{"tag":"1.0.7","author":"presswell","date":"2020-04-15 16:03:14"},"1.0.8":{"tag":"1.0.8","author":"presswell","date":"2020-06-29 17:00:35"},"1.0.9":{"tag":"1.0.9","author":"presswell","date":"2021-04-02 17:03:58"},"1.1.0":{"tag":"1.1.0","author":"presswell","date":"2021-05-18 18:45:25"},"1.1.1":{"tag":"1.1.1","author":"presswell","date":"2021-11-05 16:14:51"},"1.1.10":{"tag":"1.1.10","author":"presswell","date":"2025-03-19 15:54:23"},"1.1.11":{"tag":"1.1.11","author":"presswell","date":"2025-11-05 15:44:18"},"1.1.12":{"tag":"1.1.12","author":"presswell","date":"2025-11-10 20:29:24"},"1.1.2":{"tag":"1.1.2","author":"presswell","date":"2023-02-24 17:54:49"},"1.1.3":{"tag":"1.1.3","author":"presswell","date":"2023-04-06 14:13:29"},"1.1.4":{"tag":"1.1.4","author":"presswell","date":"2023-10-27 15:10:47"},"1.1.5":{"tag":"1.1.5","author":"presswell","date":"2023-10-30 20:17:00"},"1.1.6":{"tag":"1.1.6","author":"presswell","date":"2023-12-11 20:19:37"},"1.1.7":{"tag":"1.1.7","author":"presswell","date":"2024-07-10 15:59:14"},"1.1.8":{"tag":"1.1.8","author":"presswell","date":"2024-08-02 14:14:50"},"1.1.9":{"tag":"1.1.9","author":"presswell","date":"2025-02-11 14:44:45"},"2.0.0":{"tag":"2.0.0","author":"presswell","date":"2026-04-30 17:46:02"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"2"},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519851,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3519851,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3519851,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.10","1.1.11","1.1.12","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3519851,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3519851,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3519851,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3519851,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3519851,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Focal point editor with crop preview.","2":"Bulk regenerator queue with progress and status.","3":"Settings screen for custom size and compatibility configuration.","4":"Settings screen with various plugin tools.","5":"Settings screen with internal debugger."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2260,2247,133,2698,2956],"plugin_category":[50],"plugin_contributors":[150450,155512],"plugin_business_model":[],"class_list":["post-84326","plugin","type-plugin","status-publish","hentry","plugin_tags-crop","plugin_tags-focal-point","plugin_tags-image","plugin_tags-responsive-images","plugin_tags-thumbnails","plugin_category-media","plugin_contributors-benplum","plugin_contributors-presswell","plugin_committers-presswell"],"banners":{"banner":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/banner-772x250.jpg?rev=3519851","banner_2x":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/banner-1544x500.jpg?rev=3519851","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/icon-256x256.png?rev=3519851","icon_2x":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/icon-256x256.png?rev=3519851","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/screenshot-1.jpg?rev=3519851","caption":"Focal point editor with crop preview."},{"src":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/screenshot-2.jpg?rev=3519851","caption":"Bulk regenerator queue with progress and status."},{"src":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/screenshot-3.jpg?rev=3519851","caption":"Settings screen for custom size and compatibility configuration."},{"src":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/screenshot-4.jpg?rev=3519851","caption":"Settings screen with various plugin tools."},{"src":"https:\/\/ps.w.org\/presswell-art-direction\/assets\/screenshot-5.jpg?rev=3519851","caption":"Settings screen with internal debugger."}],"raw_content":"<!--section=description-->\n<p>Presswell Art Direction gives editors and developers a consistent way to manage image sizing and cropping in WordPress. Define custom sizes, set focal points, and generate non-core thumbnails only when they are actually needed.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Control image cropping with focal points<\/li>\n<li>Define custom image sizes and nested thumbnail variants<\/li>\n<li>Select custom image sizes directly in the WordPress editor<\/li>\n<li>Dynamically generate non-core thumbnails on demand<\/li>\n<li>Run batch regeneration from a dedicated Media tool<\/li>\n<li>Use Endpoint Mode when filename-based 404 handoff is unavailable<\/li>\n<li>Import\/export size definitions and migrate legacy focal-point metadata<\/li>\n<\/ul>\n\n<p><strong><em>Focal Point Cropping<\/em><\/strong><\/p>\n\n<p>Set a focal point for Media Library images to control how custom crops are framed. Mark the visual subject once, and generated thumbnails stay centered on the correct area.<\/p>\n\n<p><strong><em>Custom Size Management<\/em><\/strong><\/p>\n\n<p>Use the settings UI to define and edit custom image sizes. Registered sizes become available when inserting images in the block editor and classic editor workflows.<\/p>\n\n<p><strong><em>Dynamic Generation + Endpoint Mode<\/em><\/strong><\/p>\n\n<p>Presswell Art Direction avoids generating every custom size at upload time. WordPress core sizes are generated normally, while custom sizes are generated when requested in templates or by URL.<\/p>\n\n<p>If filename-based 404 image requests do not reach WordPress (common in some NGINX\/server setups), enable Endpoint Mode (<code>\/pwad-image\/?id=...&amp;size=...<\/code>). The plugin includes an automatic compatibility check in wp-admin.<\/p>\n\n<p><strong><em>Regenerator<\/em><\/strong><\/p>\n\n<p>The Regenerator screen (Media -&gt; Regenerate Thumbnails) builds a queue and processes images in batches, with progress metrics and retry handling for failed jobs. You can choose exactly which sizes should be regenerated.<\/p>\n\n<h4>Documentation<\/h4>\n\n<p><strong>Public APIs<\/strong><\/p>\n\n<p><strong>pwad_add_image_size( $args )<\/strong><\/p>\n\n<ul>\n<li><strong>$args<\/strong> (array) (required) - Keyed array containing <code>name<\/code>, <code>key<\/code>, <code>height<\/code>, <code>width<\/code>, <code>crop<\/code> (optional), and optionally <code>thumbnails<\/code> values.<\/li>\n<li>Thumbnail keys are prefixed with parent's key like <code>[size]-[thumbnail]<\/code>.<\/li>\n<\/ul>\n\n<p>Example:<\/p>\n\n<pre><code>pwad_add_image_size( array(\n  'name' =&gt; 'Square',\n  'key' =&gt; 'square',\n  'width' =&gt; '1200',\n  'height' =&gt; '1200',\n  'crop' =&gt; true,\n  'thumbnails' =&gt; array(\n    array(\n      'name' =&gt; 'Medium',\n      'key' =&gt; 'medium',\n      'width' =&gt; '800',\n      'height' =&gt; '800',\n    ),\n    array(\n      'name' =&gt; 'Small',\n      'key' =&gt; 'small',\n      'width' =&gt; '400',\n      'height' =&gt; '400',\n    ),\n  ),\n) );\n<\/code><\/pre>\n\n<p><strong>pwad_get_image_sizes()<\/strong><\/p>\n\n<p>Returns all currently-available sizes (WordPress defaults + plugin\/theme sizes + Presswell Art Direction sizes\/thumbnails).<\/p>\n\n<p>Example:<\/p>\n\n<p>$sizes = pwad_get_image_sizes();<\/p>\n\n<p><strong>pwad_get_image( $attachment_ID, $size_key, $attr = array() )<\/strong><\/p>\n\n<ul>\n<li><strong>$attachment_ID<\/strong> (int) (required) - ID of image attachment<\/li>\n<li><strong>$size_key<\/strong> (string) (required) - Image size identifier (<code>thumbnail<\/code>, <code>large<\/code>, <code>my-size<\/code>, <code>my-size-mobile<\/code>, etc.)<\/li>\n<li><strong>$attr<\/strong> (array) (optional) - HTML attributes passed to the rendered image element<\/li>\n<\/ul>\n\n<p>Returns an image tag.<\/p>\n\n<p>Example:<\/p>\n\n<p>$square_large = pwad_get_image( $img_ID, 'square' );\n  $square_small = pwad_get_image( $img_ID, 'square-small', array( 'class' =&gt; 'hero-image' ) );<\/p>\n\n<p><strong>pwad_get_image_src( $attachment_ID, $size_key )<\/strong><\/p>\n\n<ul>\n<li><strong>$attachment_ID<\/strong> (int) (required) - ID of image attachment<\/li>\n<li><strong>$size_key<\/strong> (string) (required) - Image size identifier (<code>thumbnail<\/code>, <code>large<\/code>, <code>my-size<\/code>, <code>my-size-mobile<\/code>, etc.)<\/li>\n<\/ul>\n\n<p>Returns a keyed array containing the <code>file<\/code>, <code>url<\/code>, <code>path<\/code>, <code>height<\/code>, <code>width<\/code>, and <code>mime-type<\/code> values.<\/p>\n\n<p>Example:<\/p>\n\n<p>$square_large = pwad_get_image_src( $img_ID, 'square' );\n  $square_small = pwad_get_image_src( $img_ID, 'square-small' );<\/p>\n\n<p><strong>WP-CLI<\/strong><\/p>\n\n<p><strong>wp pwad regenerate<\/strong><\/p>\n\n<p>Regenerates thumbnails.<\/p>\n\n<ul>\n<li><code>--queue-per-page=&lt;int&gt;<\/code> (default <code>200<\/code>)<\/li>\n<li><code>--batch-size=&lt;int&gt;<\/code> (default <code>25<\/code>)<\/li>\n<li><code>--target-seconds=&lt;float&gt;<\/code> (default <code>5<\/code>)<\/li>\n<li><code>--resume-last=&lt;0|1&gt;<\/code> (default <code>0<\/code>, continue the last interrupted queue)<\/li>\n<\/ul>\n\n<p><strong>wp pwad cache-prime<\/strong><\/p>\n\n<p>Generates thumbnails based on sitemap.<\/p>\n\n<ul>\n<li><code>--sitemap=&lt;url&gt;<\/code> (optional, auto-detects from robots.txt\/common sitemap endpoints)<\/li>\n<li><code>--page-limit=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--image-limit=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--delay-ms=&lt;int&gt;<\/code> (default <code>250<\/code>)<\/li>\n<li><code>--timeout=&lt;float&gt;<\/code> (default <code>10<\/code>)<\/li>\n<li><code>--retries=&lt;int&gt;<\/code> (default <code>2<\/code>)<\/li>\n<li><code>--include-external=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--force-endpoint=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--report-csv=&lt;path&gt;<\/code> (optional, writes per-URL status\/error report)<\/li>\n<li><code>--dry-run=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--resume-last=&lt;0|1&gt;<\/code> (default <code>0<\/code>, continue the last interrupted prime run)<\/li>\n<\/ul>\n\n<p><strong>wp pwad cache-prune<\/strong><\/p>\n\n<p>Deletes cached thumbnails not referenced in sitemap.<\/p>\n\n<ul>\n<li><code>--sitemap=&lt;url&gt;<\/code> (optional, auto-detects from robots.txt\/common sitemap endpoints)<\/li>\n<li><code>--batch-size=&lt;int&gt;<\/code> (default <code>200<\/code>)<\/li>\n<li><code>--max-images=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--page-limit=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--image-limit=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--timeout=&lt;float&gt;<\/code> (default <code>10<\/code>)<\/li>\n<li><code>--grace-days=&lt;int&gt;<\/code> (default <code>0<\/code>, uses file modified time)<\/li>\n<li><code>--include-external=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--force-endpoint=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--report-csv=&lt;path&gt;<\/code> (optional, writes per-file keep\/delete report)<\/li>\n<li><code>--dry-run=&lt;0|1&gt;<\/code> (default <code>1<\/code>)<\/li>\n<li><code>--resume-last=&lt;0|1&gt;<\/code> (default <code>0<\/code>, continue the last interrupted prune run)<\/li>\n<\/ul>\n\n<p><strong>wp pwad cache-clean<\/strong><\/p>\n\n<p>Deletes all cached thumbnails.<\/p>\n\n<ul>\n<li><code>--batch-size=&lt;int&gt;<\/code> (default <code>200<\/code>)<\/li>\n<li><code>--max-images=&lt;int&gt;<\/code> (default unlimited)<\/li>\n<li><code>--include-default=&lt;0|1&gt;<\/code> (default <code>0<\/code>)<\/li>\n<li><code>--dry-run=&lt;0|1&gt;<\/code> (default <code>1<\/code>)<\/li>\n<li><code>--resume-last=&lt;0|1&gt;<\/code> (default <code>0<\/code>, continue the last interrupted clean run)<\/li>\n<\/ul>\n\n<p><strong>wp pwad queue-status<\/strong><\/p>\n\n<p>Shows resumable\/remaining state for regenerator and cache queue runs.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Presswell Art Direction does not send image data to external services. It processes image metadata and generated variants within your WordPress environment.<\/p>\n\n<!--section=installation-->\n<p>Install via the WordPress plugin installer, or manually upload the plugin directory to <code>wp-content\/plugins\/<\/code>.<\/p>\n\n<p><strong>Configuration<\/strong><\/p>\n\n<ol>\n<li>Activate the plugin.<\/li>\n<li>Navigate to <em>Settings -&gt; Art Direction<\/em>.<\/li>\n<li>Configure custom image sizes, focal point behavior, and compatibility mode as needed.<\/li>\n<li>Use <em>Media -&gt; Regenerate Thumbnails<\/em> when you need to pre-build or refresh generated variants.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20set%20a%20focal%20point%3F\"><h3>How do I set a focal point?<\/h3><\/dt>\n<dd><p>When viewing an image in the media library click the 'Set Focal Point' button. Use the size dropdown to change the crop preview. Click and drag the blue focal point marker to identify the subject of the image. When finished, click the 'Save Focal Point' button to update the focal point settings and clear the image thumbnail cache for regeneration.<\/p><\/dd>\n<dt id=\"why%20should%20i%20use%20focal%20points%3F\"><h3>Why should I use focal points?<\/h3><\/dt>\n<dd><p>Focal points let you control crop framing across many sizes without manually defining crop coordinates for every variant.<\/p><\/dd>\n<dt id=\"why%20use%20dynamic%20image%20generation%3F\"><h3>Why use dynamic image generation?<\/h3><\/dt>\n<dd><p>Themes often register many custom sizes, but only a subset are used on the live site. Dynamic generation creates only the thumbnails that are actually requested.<\/p><\/dd>\n<dt id=\"what%20is%20endpoint%20mode%20%28compatibility%20mode%29%3F\"><h3>What is Endpoint Mode (Compatibility Mode)?<\/h3><\/dt>\n<dd><p>Endpoint Mode serves generated images through a WordPress endpoint when your server does not pass filename-based 404 image requests to WordPress. The plugin can auto-enable this mode when compatibility checks fail.<\/p><\/dd>\n<dt id=\"how%20do%20i%20regenerate%20images%20in%20bulk%3F\"><h3>How do I regenerate images in bulk?<\/h3><\/dt>\n<dd><p>Open <em>Media<\/em> -&gt; <em>Regenerate Thumbnails<\/em> and run the regenerator, or run <code>wp pwad regenerate<\/code> from WP-CLI.<\/p><\/dd>\n<dt id=\"why%20would%20i%20delete%20all%20cached%20images%3F\"><h3>Why would I delete all cached images?<\/h3><\/dt>\n<dd><p>When migrating a large site it is beneficial to delete any generated image sizes to speed up the data transfer. Images will be re-generated dynamically when requested from the new location.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Added dedicated regenerator screen.<\/li>\n<li>Added compatibility mode (NGINX support).<\/li>\n<li>Added debug logging.<\/li>\n<li>Added CLI commands. <\/li>\n<li>Complete overhaul of codebase.<\/li>\n<\/ul>\n\n<h4>1.1.11<\/h4>\n\n<ul>\n<li>Adding alt text support to get_image_src.<\/li>\n<\/ul>\n\n<h4>1.1.10<\/h4>\n\n<ul>\n<li>Fixing url mismatch.<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Fixing filesize warning.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Adjusting multisite rewrite rules.<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Adding multisite support.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Fixing duplicate path on original image.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Fixing erroneous array key.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fixing empty array.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixing errors and warnings.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixing issue with thumbnail sizes that match the original upload's dimensions.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Reading real image sizes.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New image regeneration method.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fixing issue with erroneous crops.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixing empty image data array.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fixing issue with character encoding in filenames.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Adding ability to disable smart caching.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixing permalink protocol mismatch.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixing media modal issue.<\/li>\n<li>Adding Elementor support.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixing updater issue.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"Manage focal-point cropping and on-demand custom image generation in WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/84326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=84326"}],"author":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/presswell"}],"wp:attachment":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=84326"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=84326"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=84326"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=84326"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=84326"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=84326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}