{"id":20041,"date":"2012-09-27T03:04:33","date_gmt":"2012-09-27T03:04:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/validated-field-for-acf\/"},"modified":"2015-08-19T15:59:23","modified_gmt":"2015-08-19T15:59:23","slug":"validated-field-for-acf","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/validated-field-for-acf\/","author":10308872,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.7.7","stable_tag":"1.7.7","tested":"4.3.34","requires":"3.0","requires_php":"","requires_plugins":"","header_name":"Advanced Custom Fields: Validated Field","header_author":"Justin Silver","header_description":"","assets_banners_color":"6aa8bc","last_updated":"2015-08-19 15:59:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/www.doublesharp.com\/","header_author_uri":"http:\/\/doublesharp.com\/","rating":4.5,"author_block_rating":0,"active_installs":200,"downloads":18658,"num_ratings":22,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":3,"2":0,"3":0,"4":0,"5":19},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1116693","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1116693","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1119508","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1","1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.1","1.1.1","1.1.1.1","1.2","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.5.1","1.2.6","1.2.7","1.3","1.3.1","1.4","1.5","1.5.1","1.6","1.7","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1154154","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1154154","resolution":"2","location":"assets"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":"1154154","resolution":"3","location":"assets"},"screenshot-4.png":{"filename":"screenshot-4.png","revision":"1154154","resolution":"4","location":"assets"},"screenshot-5.png":{"filename":"screenshot-5.png","revision":"1154154","resolution":"5","location":"assets"},"screenshot-6.png":{"filename":"screenshot-6.png","revision":"1154154","resolution":"6","location":"assets"}},"screenshots":{"1":"Example configuration for input masking and regular expression checking of a telephone number field.","2":"Example of client-side input masking on a telephone number field.","3":"Example of failing to pass a regular expression check (phone number is incomplete).","4":"Example of failing to pass a uniqueness check - the telephone number is already in use by post \"Test 1\".","5":"Example of PHP validation configuration. This code will fail if the request comes from \"127.0.0.1\" with the message \"You cannot save from localhost!\".","6":"Example of client side PHP validation failure."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2211,2217,9779,7335,724],"plugin_category":[59],"plugin_contributors":[82089],"plugin_business_model":[],"class_list":["post-20041","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-advanced-custom-fields","plugin_tags-regex","plugin_tags-validate","plugin_tags-validation","plugin_category-utilities-and-tools","plugin_contributors-doublesharp","plugin_committers-doublesharp"],"banners":{"banner":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/banner-772x250.png?rev=1119508","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/icon-128x128.png?rev=1116693","icon_2x":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/icon-256x256.png?rev=1116693","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-1.png?rev=1154154","caption":"Example configuration for input masking and regular expression checking of a telephone number field."},{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-2.png?rev=1154154","caption":"Example of client-side input masking on a telephone number field."},{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-3.png?rev=1154154","caption":"Example of failing to pass a regular expression check (phone number is incomplete)."},{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-4.png?rev=1154154","caption":"Example of failing to pass a uniqueness check - the telephone number is already in use by post \"Test 1\"."},{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-5.png?rev=1154154","caption":"Example of PHP validation configuration. This code will fail if the request comes from \"127.0.0.1\" with the message \"You cannot save from localhost!\"."},{"src":"https:\/\/ps.w.org\/validated-field-for-acf\/assets\/screenshot-6.png?rev=1154154","caption":"Example of client side PHP validation failure."}],"raw_content":"<!--section=description-->\n<h4>Validated Field Add-On<\/h4>\n\n<p>The <strong>Validated Field<\/strong> add-on for <a href=\"http:\/\/wordpress.org\/extend\/plugins\/advanced-custom-fields\/\">Advanced Custom Fields<\/a>\nprovides a wrapper for other input types which allows you to provide client side input masking using the jQuery \n<a href=\"http:\/\/digitalbush.com\/projects\/masked-input-plugin\/\">Masked Input Plugin<\/a>, server side validation using either PHP regular expressions \nor PHP code, the option of ensuring a field's uniqueness for all posts by <code>post_type<\/code> and <code>meta_key<\/code>, <code>post_type<\/code>, or site wide, or a \nsingle post by meta_key, as well as marking a field as read-only. Edit your fields in the ACF Field Group editor and update code using the ACE.js\nIDE with autocomplete and syntax validation.<\/p>\n\n<h4>Features<\/h4>\n\n<ol>\n<li><strong>Input Masking<\/strong> - easily set masks on text inputs to ensure data is properly formatted.<\/li>\n<li><strong>Server-Side Validation<\/strong> - validate the inputs using server side PHP code or regular expressions.<\/li>\n<li><strong>Uniqueness<\/strong> - ensure that the value being updated is not already in use.<\/li>\n<li><strong>Repeater Fields<\/strong> - validated fields within a <a href=\"http:\/\/www.advancedcustomfields.com\/add-ons\/repeater-field\/\">Repeater Field<\/a>.<\/li>\n<li><strong>Read Only<\/strong> - specify a field as read-only allowing it to be displayed but not updated.<\/li>\n<li><strong>WordPress Multi Language<\/strong> - compatible with multilingual sites using the WPML plugin.<\/li>\n<li><strong>Conditional Logic<\/strong> - show and hide validated fields based on the values of other \"switch\" fields.<\/li>\n<\/ol>\n\n<h4>Compatibility<\/h4>\n\n<p>Requires <a href=\"http:\/\/wordpress.org\/extend\/plugins\/advanced-custom-fields\/\">Advanced Custom Fields<\/a> version 4.0 or greater.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin and extract to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Configure validated fields within the Advanced Custom Fields menus.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>I've activated the Validated Field plugin, but nothing happens<\/dt>\n<dd><p>Ensure that you have <a href=\"http:\/\/wordpress.org\/extend\/plugins\/advanced-custom-fields\/\">Advanced Custom Fields<\/a> installed and that it is activated. \nValidated Field will appear as a new input type in the field group editor.<\/p><\/dd>\n<dt>Configuration Options<\/dt>\n<dd><p>Global configurations for the Validated Field plugin can be found in the WordPress Admin under <code>Custom Fields &gt; Validated Field Settings<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.7<\/h4>\n\n<ul>\n<li>ACF4\n\n<ul>\n<li>Update <code>json_encode()<\/code> to support PHP 5.2.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.7.6<\/h4>\n\n<ul>\n<li>ACF4\n\n<ul>\n<li>Update for jQuery mask compatibility with ACF version 4.4.2+.<\/li>\n<li>Improved support for use of single and double quotes within the validation pattern.<\/li>\n<li>Use the same <code>eval()<\/code> implementation as ACF5 handler.<\/li>\n<li>Derive add-on file basename for error handling.<\/li>\n<\/ul><\/li>\n<li>ACF5\n\n<ul>\n<li>Update for jQuery mask compatibility with ACF version 5.2.7+.<\/li>\n<li>Derive add-on file basename for error handling.<\/li>\n<\/ul><\/li>\n<li>Additional jQuery Masked Input options:\n\n<ul>\n<li><code>Autoclear<\/code>: <code>Yes<\/code> or <code>No<\/code> - determine if a value should be automatically cleared if it does not match the mask. The previous default was <code>Yes<\/code>.<\/li>\n<li><code>Placeholder<\/code>: 'char or string` - use a different character or string as a placeholder to be displayed as the user is entering their input.<\/li>\n<\/ul><\/li>\n<li>Filters for future add-on support.<\/li>\n<li>Updated Spanish translations.<\/li>\n<li>Added Serbo-Croatian translations courtesy of Andrijana Nikolic \/ <a href=\"http:\/\/webhostinggeeks.com\/\">WebHostingGeeks<\/a>.<\/li>\n<\/ul>\n\n<h4>1.7.5<\/h4>\n\n<ul>\n<li>Update for compatibility with ACF version 5.2.6+. <\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>Update CSS to properly handle visibility of validated fields via conditional logic when the default visibility is hidden for new entries.<\/li>\n<li>Bug fix: Remove warning when trying to access the Post ID when it is not available, on Options pages for example.<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Replace call to <code>acf_render_field_settings()<\/code> with action <code>acf\/render_field_settings\/type=?<\/code> to support ACF 5.2.3+.<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Allow <code>$message<\/code> to be returned from PHP code instead of <code>false<\/code> to fail validation.\n\n<ul>\n<li>Example code: <code>if ( !filter_var( $value, FILTER_VALIDATE_URL ) ) return 'You must use a valid URL.';<\/code><\/li>\n<li>Validation will fail if <code>$value<\/code> is not a URL, otherwise the default validation return is <code>true<\/code>.<\/li>\n<\/ul><\/li>\n<li>Clean up handling of read only\/hidden select fields.<\/li>\n<li>Include additional default sub field values to prevent array index errors.<\/li>\n<li>Update to work with the latest version of ACF JavaScript validation - requires nested <code>DIV<\/code> to properly append error message to the correct input field.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Update for compatibility with new Repeater\/select2 implementation in ACF.<\/li>\n<li>Dynamically copy field from parent to sub field allowing for greater flexibility in sub field type support.<\/li>\n<li>Remove old code\/comments.<\/li>\n<li>Bug fix: Only trigger \"change\" event on sub field type when the field is a clone, not an existing field.<\/li>\n<li>Bug fix: Fix processing of sub field \"name\" to correctly trigger ACF filters.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Show info\/error message when input masking is used with the \"number\" field type as they are not compatible.<\/li>\n<li>Upgrade to jQuery Masked Input version 1.4.1.<\/li>\n<li><strong>ACF5 only:<\/strong>\n\n<ul>\n<li>Include unique value options of \u201cPost\" and \"Post + Key\".<\/li>\n<li>Check submitted values for duplicates when the field type is unique. This fixes the issue where duplicate values are added to a unique repeater field, or the same value is entered for multiple meta_keys when the unique type is \"global\", \"post type\", or \"post\".<\/li>\n<\/ul><\/li>\n<li>Bug fix: Correctly call <code>$wpdb-&gt;esc_like()<\/code> as instance method for \"globally unique\" fields.<\/li>\n<li>Bug fix: Improve field\/sub field handling and to correctly populate \"id\" for use in HTML CSS selectors.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Bug fix: Use better supported PHP syntax for getting repeater field index, props @dnrms.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Increase height of ACE editor.<\/li>\n<li>Improve jQuery selectors for WordPress Admin functionality.<\/li>\n<li>Replace deprecated <code>like_escape()<\/code> function with <code>$wpdb-&gt;esc_like()<\/code>.<\/li>\n<li>Update read-only icon on edit screens.<\/li>\n<li>Bug fix: Undefined array index errors.<\/li>\n<li>Bug fix: Repeater field unique validation for post type and post type + key.<\/li>\n<li>Bug fix: WPML field unique validation for post type and post type + key.<\/li>\n<li>Bug fix: UI display controls for pattern\/ACE editor.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Support for Advanced Custom Fields 5.0.<\/li>\n<li>The <code>$inputs<\/code> variable is now available using and index of <code>meta_key<\/code> and returning an array with the values \"field\", \"value\", and \"prev_value\".<\/li>\n<li>Fix for custom \"post_id\" string value instead of and integer value.<\/li>\n<li>Host <code>ace.js<\/code> libraries locally and upgrade to version 1.1.7.\n\n<ul>\n<li>Increase size of PHP editor.<\/li>\n<li>Support for PHP snippets and autocomplete.<\/li>\n<li>New editor functions: Search (<code>Ctrl+F<\/code>\/<code>Cmd+F<\/code>), Replace (<code>Ctrl+Alt+F<\/code>\/<code>Cmd+Opt+F<\/code>), and Replace All (<code>Ctrl+Alt+Shft+F<\/code>\/<code>Cmd+Opt+Shft+F<\/code>).<\/li>\n<\/ul><\/li>\n<li>Host <code>fontawesome.css<\/code> CSS and fonts locally and upgrade to version 4.2.<\/li>\n<li>Upgraded jQuery Masked Input plugin to version 1.4.<\/li>\n<li>Better support for Relationship field settings - only load sub field when the action is <code>acf\/fields\/relationship\/query_posts<\/code> (ACF4) or <code>acf\/fields\/relationship\/query<\/code> (ACF5).<\/li>\n<li>For ACF 5+ only:\n\n<ul>\n<li>The new <a href=\"http:\/\/www.advancedcustomfields.com\/resources\/acf-validate_value\/\"><code>acf\/validate_value<\/code><\/a> filter is used for better compatibility and performance.<\/li>\n<li>Get rid of inline JavaScript in the WordPress Admin and leverage ACF JavaScript events.<\/li>\n<\/ul><\/li>\n<li>For ACF 4 only:\n\n<ul>\n<li>Compatibility with tabbed layouts (natively supported in ACF 5)<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Bug Fix: Apply input masking to fields for new posts, not just editing existing ones.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Support front end validation using <a href=\"http:\/\/www.advancedcustomfields.com\/resources\/functions\/acf_form\/\"><code>acf_form()<\/code><\/a>.<\/li>\n<li>Support for WPML, props @gunnyst.<\/li>\n<li>Move configuration to WordPress Admin under <code>Custom Fields &gt; Validated Field Settings<\/code>.\n\n<ul>\n<li>Debug - enable debugging, defaults to off.<\/li>\n<li>Drafts - enable draft validation, defaults to on.<\/li>\n<li>Front End - enable front end validation, defaults to off.<\/li>\n<li>Front End Admin CSS - enable <code>acf_form_head()<\/code> to enqueue an admin theme, defaults to on.<\/li>\n<\/ul><\/li>\n<li>Improved SQL for unique queries to support Relationship fields - check both arrays and single IDs.<\/li>\n<li>Fix conflicts with ACF client side validation (required fields, etc).<\/li>\n<li>Fix reference to <code>$sub_field['read_only']<\/code> with <code>$field['read_only']<\/code> for jQuery masking, props @johnny_br.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Bug Fix: Post Preview fix when WordPress 'click' event triggers a 'submit' before the clicked element can be tracked by the plugin.<\/li>\n<li>Added comments to unpacked JavaScript.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Critical Bug Fix: Fix compatibility issues with Firefox.<\/li>\n<\/ul>\n\n<h4>1.2.5.1<\/h4>\n\n<ul>\n<li>Remove debug <code>error_log()<\/code> statement from v1.2.5.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Finish text localization, include <code>es_ES<\/code> translation.<\/li>\n<li>Pack and compress validation javascript.<\/li>\n<li>Bug Fix: prevent PHP array index notice for non-repeater fields.<\/li>\n<li>Code formatting.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Support for globally bypassing Draft\/Preview validation by setting <code>ACF_VF_DRAFTS<\/code> to <code>false<\/code>.<\/li>\n<li>Support for bypassing Draft\/Preview validation per field (defaults to validate).<\/li>\n<li>Bug fixes: properly hide Draft spinner, cleaned up JavaScript.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Properly include plugin version number on JavaScript enqueue for caching and PHP notices.<\/li>\n<li>Use minified JavaScript unless <code>ACF_VF_DEBUG<\/code> is set to <code>true<\/code>.<\/li>\n<li>Tested up to WordPress 3.9.1<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Show 'Validation Failed' message in header as needed.<\/li>\n<li>Mark form as dirty when input element values change.<\/li>\n<li>Fix return of <code>$message<\/code> from field configuration to UI.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Support for <a href=\"http:\/\/www.advancedcustomfields.com\/add-ons\/repeater-field\/\">Repeater Field<\/a> Validated Fields.<\/li>\n<li>Support for debugging with <code>ACF_VF_DEBUG<\/code> constant.<\/li>\n<li>Clean up variable names, more code standardization.<\/li>\n<li>Better handling of required fields with validation.<\/li>\n<\/ul>\n\n<h4>1.1.1.1<\/h4>\n\n<ul>\n<li>Remove debug <code>error_log()<\/code> statement from v1.1.1.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Clean up PHP to WordPress standards.<\/li>\n<li>Fix PHP Notice breaking AJAX call.<\/li>\n<li>Use defaults to prevent invalid array indexes.<\/li>\n<li>Update JavaScript for UI Errors.<\/li>\n<li>More localization prep for text.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Add Read-only functionality (beta).<\/li>\n<li>Use standard ACF error\/messaging.<\/li>\n<li>Correctly process \"preview\" clicks, fixes error where the post would be published.<\/li>\n<li>Register CSS only in required locations.<\/li>\n<li>Properly apply subfield filters for <code>acf\/load_value\/type=<\/code>, <code>acf\/update_value\/type=<\/code>, <code>acf\/format_value\/type=<\/code>, <code>acf\/format_value_for_api\/type=<\/code>, <code>acf\/load_field\/type=<\/code>, <code>acf\/update_field\/type=<\/code>.<\/li>\n<li>Tested up to WordPress 3.9.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Critical bug fix for selecting Validated Field type.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Bug fix <code>$sub_field<\/code> properties not saving (use <code>acf\/create_field_options<\/code> action).<\/li>\n<li>Bug fix multiple Validated Fields in a set - correct to always use unique selectors.<\/li>\n<li>Allow for unique query to be run on selected post statuses.<\/li>\n<li>Set default statuses included in unique queries with filter of <code>acf_vf\/unique_statuses<\/code>.<\/li>\n<li>Remove redundant table wrapper on validated fields.<\/li>\n<li>Clean up potential strict PHP warnings.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Hide spinner for update if a validation error is encountered.<\/li>\n<li>Allow for uniqueness queries to apply to only published or all post statuses.<\/li>\n<li>Clean up debugging code writing to the error log for regex validations.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix javascript error when including ace.js, props @nikademo.<\/li>\n<li>Fix \"Undefined index\" PHP notice, props @ikivanov.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Bug fix for unique field values per <code>post_type<\/code>. Props @ikivanov.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Bug fix for editing a validated field. Ensure proper type is selected and UI refresh is triggered. Props @fab4_33.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Clean up strict warnings<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Update for compatibility with Advanced Custom Fields 4+<\/li>\n<li>Implement ace.js for syntax highlighting<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<\/ul>","raw_excerpt":"The Validated Field add-on for Advanced Custom Fields provides input masking and server-side validation of other field types.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/20041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=20041"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/doublesharp"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=20041"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=20041"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=20041"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=20041"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=20041"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=20041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}