CINXE.COM

Handling Form Submissions – AMP for WordPress

<!DOCTYPE html> <html lang="en-US" amp="" data-amp-auto-lightbox-disable transformed="self;v=1" i-amphtml-layout="" i-amphtml-no-boilerplate="" i-amphtml-binding> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><link rel="preconnect" href="https://cdn.ampproject.org"><style amp-runtime="" i-amphtml-version="012501142147000">html{overflow-x:hidden!important}html.i-amphtml-fie{height:100%!important;width:100%!important}html:not([amp4ads]),html:not([amp4ads]) body{height:auto!important}html:not([amp4ads]) body{margin:0!important}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.i-amphtml-singledoc.i-amphtml-embedded{-ms-touch-action:pan-y pinch-zoom;touch-action:pan-y pinch-zoom}html.i-amphtml-fie>body,html.i-amphtml-singledoc>body{overflow:visible!important}html.i-amphtml-fie:not(.i-amphtml-inabox)>body,html.i-amphtml-singledoc:not(.i-amphtml-inabox)>body{position:relative!important}html.i-amphtml-ios-embed-legacy>body{overflow-x:hidden!important;overflow-y:auto!important;position:absolute!important}html.i-amphtml-ios-embed{overflow-y:auto!important;position:static}#i-amphtml-wrapper{overflow-x:hidden!important;overflow-y:auto!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;display:block!important}html.i-amphtml-ios-embed.i-amphtml-ios-overscroll,html.i-amphtml-ios-embed.i-amphtml-ios-overscroll>#i-amphtml-wrapper{-webkit-overflow-scrolling:touch!important}#i-amphtml-wrapper>body{position:relative!important;border-top:1px solid transparent!important}#i-amphtml-wrapper+body{visibility:visible}#i-amphtml-wrapper+body .i-amphtml-lightbox-element,#i-amphtml-wrapper+body[i-amphtml-lightbox]{visibility:hidden}#i-amphtml-wrapper+body[i-amphtml-lightbox] .i-amphtml-lightbox-element{visibility:visible}#i-amphtml-wrapper.i-amphtml-scroll-disabled,.i-amphtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}amp-instagram{padding:54px 0px 0px!important;background-color:#fff}amp-iframe iframe{box-sizing:border-box!important}[amp-access][amp-access-hide]{display:none}[subscriptions-dialog],body:not(.i-amphtml-subs-ready) [subscriptions-action],body:not(.i-amphtml-subs-ready) [subscriptions-section]{display:none!important}amp-experiment,amp-live-list>[update]{display:none}amp-list[resizable-children]>.i-amphtml-loading-container.amp-hidden{display:none!important}amp-list [fetch-error],amp-list[load-more] [load-more-button],amp-list[load-more] [load-more-end],amp-list[load-more] [load-more-failed],amp-list[load-more] [load-more-loading]{display:none}amp-list[diffable] div[role=list]{display:block}amp-story-page,amp-story[standalone]{min-height:1px!important;display:block!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;width:100%!important}amp-story[standalone]{background-color:#000!important;position:relative!important}amp-story-page{background-color:#757575}amp-story .amp-active>div,amp-story .i-amphtml-loader-background{display:none!important}amp-story-page:not(:first-of-type):not([distance]):not([active]){transform:translateY(1000vh)!important}amp-autocomplete{position:relative!important;display:inline-block!important}amp-autocomplete>input,amp-autocomplete>textarea{padding:0.5rem;border:1px solid rgba(0,0,0,.33)}.i-amphtml-autocomplete-results,amp-autocomplete>input,amp-autocomplete>textarea{font-size:1rem;line-height:1.5rem}[amp-fx^=fly-in]{visibility:hidden}amp-script[nodom],amp-script[sandboxed]{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden} /*# sourceURL=/css/ampdoc.css*/[hidden]{display:none!important}.i-amphtml-element{display:inline-block}.i-amphtml-blurry-placeholder{transition:opacity 0.3s cubic-bezier(0.0,0.0,0.2,1)!important;pointer-events:none}[layout=nodisplay]:not(.i-amphtml-element){display:none!important}.i-amphtml-layout-fixed,[layout=fixed][width][height]:not(.i-amphtml-layout-fixed){display:inline-block;position:relative}.i-amphtml-layout-responsive,[layout=responsive][width][height]:not(.i-amphtml-layout-responsive),[width][height][heights]:not([layout]):not(.i-amphtml-layout-responsive),[width][height][sizes]:not(img):not([layout]):not(.i-amphtml-layout-responsive){display:block;position:relative}.i-amphtml-layout-intrinsic,[layout=intrinsic][width][height]:not(.i-amphtml-layout-intrinsic){display:inline-block;position:relative;max-width:100%}.i-amphtml-layout-intrinsic .i-amphtml-sizer{max-width:100%}.i-amphtml-intrinsic-sizer{max-width:100%;display:block!important}.i-amphtml-layout-container,.i-amphtml-layout-fixed-height,[layout=container],[layout=fixed-height][height]:not(.i-amphtml-layout-fixed-height){display:block;position:relative}.i-amphtml-layout-fill,.i-amphtml-layout-fill.i-amphtml-notbuilt,[layout=fill]:not(.i-amphtml-layout-fill),body noscript>*{display:block;overflow:hidden!important;position:absolute;top:0;left:0;bottom:0;right:0}body noscript>*{position:absolute!important;width:100%;height:100%;z-index:2}body noscript{display:inline!important}.i-amphtml-layout-flex-item,[layout=flex-item]:not(.i-amphtml-layout-flex-item){display:block;position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.i-amphtml-layout-fluid{position:relative}.i-amphtml-layout-size-defined{overflow:hidden!important}.i-amphtml-layout-awaiting-size{position:absolute!important;top:auto!important;bottom:auto!important}i-amphtml-sizer{display:block!important}@supports (aspect-ratio:1/1){i-amphtml-sizer.i-amphtml-disable-ar{display:none!important}}.i-amphtml-blurry-placeholder,.i-amphtml-fill-content{display:block;height:0;max-height:100%;max-width:100%;min-height:100%;min-width:100%;width:0;margin:auto}.i-amphtml-layout-size-defined .i-amphtml-fill-content{position:absolute;top:0;left:0;bottom:0;right:0}.i-amphtml-replaced-content,.i-amphtml-screen-reader{padding:0!important;border:none!important}.i-amphtml-screen-reader{position:fixed!important;top:0px!important;left:0px!important;width:4px!important;height:4px!important;opacity:0!important;overflow:hidden!important;margin:0!important;display:block!important;visibility:visible!important}.i-amphtml-screen-reader~.i-amphtml-screen-reader{left:8px!important}.i-amphtml-screen-reader~.i-amphtml-screen-reader~.i-amphtml-screen-reader{left:12px!important}.i-amphtml-screen-reader~.i-amphtml-screen-reader~.i-amphtml-screen-reader~.i-amphtml-screen-reader{left:16px!important}.i-amphtml-unresolved{position:relative;overflow:hidden!important}.i-amphtml-select-disabled{-webkit-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.i-amphtml-notbuilt,[layout]:not(.i-amphtml-element),[width][height][heights]:not([layout]):not(.i-amphtml-element),[width][height][sizes]:not(img):not([layout]):not(.i-amphtml-element){position:relative;overflow:hidden!important;color:transparent!important}.i-amphtml-notbuilt:not(.i-amphtml-layout-container)>*,[layout]:not([layout=container]):not(.i-amphtml-element)>*,[width][height][heights]:not([layout]):not(.i-amphtml-element)>*,[width][height][sizes]:not([layout]):not(.i-amphtml-element)>*{display:none}amp-img:not(.i-amphtml-element)[i-amphtml-ssr]>img.i-amphtml-fill-content{display:block}.i-amphtml-notbuilt:not(.i-amphtml-layout-container),[layout]:not([layout=container]):not(.i-amphtml-element),[width][height][heights]:not([layout]):not(.i-amphtml-element),[width][height][sizes]:not(img):not([layout]):not(.i-amphtml-element){color:transparent!important;line-height:0!important}.i-amphtml-ghost{visibility:hidden!important}.i-amphtml-element>[placeholder],[layout]:not(.i-amphtml-element)>[placeholder],[width][height][heights]:not([layout]):not(.i-amphtml-element)>[placeholder],[width][height][sizes]:not([layout]):not(.i-amphtml-element)>[placeholder]{display:block;line-height:normal}.i-amphtml-element>[placeholder].amp-hidden,.i-amphtml-element>[placeholder].hidden{visibility:hidden}.i-amphtml-element:not(.amp-notsupported)>[fallback],.i-amphtml-layout-container>[placeholder].amp-hidden,.i-amphtml-layout-container>[placeholder].hidden{display:none}.i-amphtml-layout-size-defined>[fallback],.i-amphtml-layout-size-defined>[placeholder]{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:1}amp-img[i-amphtml-ssr]:not(.i-amphtml-element)>[placeholder]{z-index:auto}.i-amphtml-notbuilt>[placeholder]{display:block!important}.i-amphtml-hidden-by-media-query{display:none!important}.i-amphtml-element-error{background:red!important;color:#fff!important;position:relative!important}.i-amphtml-element-error:before{content:attr(error-message)}i-amp-scroll-container,i-amphtml-scroll-container{position:absolute;top:0;left:0;right:0;bottom:0;display:block}i-amp-scroll-container.amp-active,i-amphtml-scroll-container.amp-active{overflow:auto;-webkit-overflow-scrolling:touch}.i-amphtml-loading-container{display:block!important;pointer-events:none;z-index:1}.i-amphtml-notbuilt>.i-amphtml-loading-container{display:block!important}.i-amphtml-loading-container.amp-hidden{visibility:hidden}.i-amphtml-element>[overflow]{cursor:pointer;position:relative;z-index:2;visibility:hidden;display:initial;line-height:normal}.i-amphtml-layout-size-defined>[overflow]{position:absolute}.i-amphtml-element>[overflow].amp-visible{visibility:visible}template{display:none!important}.amp-border-box,.amp-border-box *,.amp-border-box :after,.amp-border-box :before{box-sizing:border-box}amp-pixel{display:none!important}amp-analytics,amp-auto-ads,amp-story-auto-ads{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden}amp-story{visibility:hidden!important}html.i-amphtml-fie>amp-analytics{position:initial!important}[visible-when-invalid]:not(.visible),form [submit-error],form [submit-success],form [submitting]{display:none}amp-accordion{display:block!important}@media (min-width:1px){:where(amp-accordion>section)>:first-child{margin:0;background-color:#efefef;padding-right:20px;border:1px solid #dfdfdf}:where(amp-accordion>section)>:last-child{margin:0}}amp-accordion>section{float:none!important}amp-accordion>section>*{float:none!important;display:block!important;overflow:hidden!important;position:relative!important}amp-accordion,amp-accordion>section{margin:0}amp-accordion:not(.i-amphtml-built)>section>:last-child{display:none!important}amp-accordion:not(.i-amphtml-built)>section[expanded]>:last-child{display:block!important} /*# sourceURL=/css/ampshared.css*/</style><meta name="robots" content="max-image-preview:large"><meta name="generator" content="WordPress 6.7.2"><meta name="generator" content="Site Kit by Google 1.146.0"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="AMP-WP"><meta name="application-name" content="AMP-WP"><meta property="og:type" content="article"><meta property="og:title" content="Handling Form Submissions"><meta property="og:url" content="https://amp-wp.org/documentation/playbooks/handling-form-submissions/"><meta property="og:description" content="The AMP plugin does all that it can to ensure that your existing forms work as expected in AMP. For one thing, forms with a GET method need nothing special as they behave as the same in AMP as they…"><meta property="article:published_time" content="2019-06-03T23:48:04+00:00"><meta property="article:modified_time" content="2020-09-10T19:44:19+00:00"><meta property="og:site_name" content="AMP for WordPress"><meta property="og:image" content="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response.png"><meta property="og:image:width" content="1624"><meta property="og:image:height" content="282"><meta property="og:image:alt" content=""><meta property="og:locale" content="en_US"><meta name="twitter:text:title" content="Handling Form Submissions"><meta name="twitter:image" content="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response.png?w=640"><meta name="twitter:card" content="summary_large_image"><meta name="generator" content="AMP Plugin v2.5.5; mode=standard; sandboxing-level=3:3"><meta name="msapplication-TileImage" content="https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo-270x270.png"><link rel="dns-prefetch" href="//amp-wp.org"><link rel="dns-prefetch" href="//v0.wordpress.com"><link rel="dns-prefetch" href="//www.googletagmanager.com"><link rel="preload" href="https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v5-latin-700.woff2" as="font" crossorigin><link rel="preload" href="https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v12-latin-regular.woff2" as="font" crossorigin><link rel="preload" href="https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-700.woff2" as="font" crossorigin><link rel="preload" href="https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-regular.woff2" as="font" crossorigin><script async="" src="https://cdn.ampproject.org/v0.mjs" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0.js" crossorigin="anonymous"></script><script src="https://cdn.ampproject.org/v0/amp-analytics-0.1.mjs" async="" custom-element="amp-analytics" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js" crossorigin="anonymous" custom-element="amp-analytics"></script><script src="https://cdn.ampproject.org/v0/amp-animation-0.1.mjs" async="" custom-element="amp-animation" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-animation-0.1.js" crossorigin="anonymous" custom-element="amp-animation"></script><script src="https://cdn.ampproject.org/v0/amp-bind-0.1.mjs" async="" custom-element="amp-bind" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-bind-0.1.js" crossorigin="anonymous" custom-element="amp-bind"></script><script src="https://cdn.ampproject.org/v0/amp-form-0.1.mjs" async="" custom-element="amp-form" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-form-0.1.js" crossorigin="anonymous" custom-element="amp-form"></script><script src="https://cdn.ampproject.org/v0/amp-install-serviceworker-0.1.mjs" async="" custom-element="amp-install-serviceworker" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-install-serviceworker-0.1.js" crossorigin="anonymous" custom-element="amp-install-serviceworker"></script><script src="https://cdn.ampproject.org/v0/amp-position-observer-0.1.mjs" async="" custom-element="amp-position-observer" type="module" crossorigin="anonymous"></script><script async nomodule src="https://cdn.ampproject.org/v0/amp-position-observer-0.1.js" crossorigin="anonymous" custom-element="amp-position-observer"></script><link rel="icon" href="https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo-32x32.png" sizes="32x32"><link rel="icon" href="https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo-192x192.png" sizes="192x192"><style amp-custom="">amp-img:is([sizes="auto" i], [sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;width:1px}.screen-reader-text:not(#_#_#_#_#_#_#_){position:absolute;word-wrap:normal}*[class*=gpb-fluid],.entry-content *[class*=gpb-fluid]{margin:0 0 1rem 0;line-height:1.2;font-weight:normal}.wp-block-image{margin-bottom:1.2em}amp-img.amp-wp-enforced-sizes{object-fit:contain}amp-img img,amp-img noscript{image-rendering:inherit;object-fit:inherit;object-position:inherit}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none}.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}:where(.wp-block-post-comments input[type=submit]){border:none}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}:root :where(.wp-block-cover h1:not(.has-text-color)),:root :where(.wp-block-cover h2:not(.has-text-color)),:root :where(.wp-block-cover h3:not(.has-text-color)),:root :where(.wp-block-cover h4:not(.has-text-color)),:root :where(.wp-block-cover h5:not(.has-text-color)),:root :where(.wp-block-cover h6:not(.has-text-color)),:root :where(.wp-block-cover p:not(.has-text-color)){color:inherit}:where(.wp-block-file){margin-bottom:1.5em}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}.wp-block-image a{display:inline-block}.wp-block-image amp-img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image figure{margin:0}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(( -100vw + var(--wp--lightbox-scrollbar-width) ) / 2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(( -100vw + var(--wp--lightbox-scrollbar-width) ) / 2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}:where(.wp-block-latest-comments:not([data-amp-original-style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([data-amp-original-style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}:root :where(.wp-block-latest-posts.is-grid){padding:0}:root :where(.wp-block-latest-posts.wp-block-latest-posts__list){padding-left:0}ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}:where(.wp-block-post-comments-form) input:not([type=submit]){border:1px solid #949494;font-family:inherit;font-size:1em}:where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])){padding:calc(.667em + 2px)}:where(.wp-block-post-excerpt){box-sizing:border-box;margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}:where(.wp-block-preformatted.has-background){padding:1.25em 2.375em}.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}:where(.wp-block-search__input){font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}:root :where(.wp-block-separator.is-style-dots){height:auto;line-height:1;text-align:center}:root :where(.wp-block-separator.is-style-dots):before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}:root :where(.wp-block-site-logo.is-style-rounded){border-radius:9999px}:root :where(.wp-block-social-links .wp-social-link a){padding:.25em}:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){padding:0}:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){padding-left:.66667em;padding-right:.66667em}:root :where(.wp-block-tag-cloud.is-style-outline){display:flex;flex-wrap:wrap;gap:1ch}:root :where(.wp-block-tag-cloud.is-style-outline a){border:1px solid;margin-right:0;padding:1ch 2ch}:root :where(.wp-block-tag-cloud.is-style-outline a):not(#_#_#_#_#_#_#_#_){font-size:unset;text-decoration:none}:root :where(.wp-block-table-of-contents){box-sizing:border-box}:where(.wp-block-term-description){box-sizing:border-box;margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}:where(pre.wp-block-verse){font-family:inherit}.entry-content{counter-reset:footnotes}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:not(#_#_#_#_#_#_#_){word-wrap:normal}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.screen-reader-text:focus:not(#_#_#_#_#_#_#_){clip:auto}html :where(.has-border-color){border-style:solid}html :where([data-amp-original-style*=border-top-color]){border-top-style:solid}html :where([data-amp-original-style*=border-right-color]){border-right-style:solid}html :where([data-amp-original-style*=border-bottom-color]){border-bottom-style:solid}html :where([data-amp-original-style*=border-left-color]){border-left-style:solid}html :where([data-amp-original-style*=border-width]){border-style:solid}html :where([data-amp-original-style*=border-top-width]){border-top-style:solid}html :where([data-amp-original-style*=border-right-width]){border-right-style:solid}html :where([data-amp-original-style*=border-bottom-width]){border-bottom-style:solid}html :where([data-amp-original-style*=border-left-width]){border-left-style:solid}html :where(amp-img[class*=wp-image-]),html :where(amp-anim[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.wp-block-image{margin:0 0 1em}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote:where(.is-style-plain){border:none}:where(.wp-block-group.has-background){padding:1.25em 2.375em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#272822;color:#ddd}.hljs-keyword{color:#f92672}.hljs-string{color:#a6e22e}.hljs-keyword{font-weight:bold}.wp-block-code{border:0;padding:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}.wp-block-code > span{display:block;overflow:auto}.shcb-language{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal;word-break:normal}.hljs{box-sizing:border-box}.hljs.shcb-code-table{display:table;width:100%}.hljs.shcb-code-table > .shcb-loc{color:inherit;display:table-row;width:100%}.hljs.shcb-code-table .shcb-loc > span{display:table-cell}.wp-block-code code.hljs:not(.shcb-wrap-lines){white-space:pre}.hljs > mark.shcb-loc{background-color:#474843}:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3:4/3;--wp--preset--aspect-ratio--3-4:3/4;--wp--preset--aspect-ratio--3-2:3/2;--wp--preset--aspect-ratio--2-3:2/3;--wp--preset--aspect-ratio--16-9:16/9;--wp--preset--aspect-ratio--9-16:9/16;--wp--preset--color--black:#20202a;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#fff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--color--secondary-black:#333d47;--wp--preset--color--off-black:#48525c;--wp--preset--color--gray:#eaeaea;--wp--preset--color--off-white:#fafafc;--wp--preset--color--blue:#005af0;--wp--preset--color--red:#ef0000;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,rgba(6,147,227,1) 0%,#9b51e0 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,#7adcb4 0%,#00d082 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,rgba(255,105,0,1) 0%,#cf2e2e 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,#eee 0%,#a9b8c3 100%);--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,#4aeadc 0%,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,#ffceec 0%,#9896f0 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,#fecda5 0%,#fe2d2d 50%,#6b003e 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,#ffcb70 0%,#c751c0 50%,#4158d0 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,#fff5cb 0%,#b6e3d4 50%,#33a7b5 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,#caf880 0%,#71ce7e 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,#020381 0%,#2874fc 100%);--wp--preset--gradient--blue-gradient:linear-gradient(45deg,#005af0 0%,#00dcc0 100%);--wp--preset--gradient--black-gradient:radial-gradient(50% 514.28% at 100% 0%,#20202a 0%,#29323c 100%,#333d47 100%);--wp--preset--gradient--radial-gray:radial-gradient(100% 187.97% at 100% 0%,#ebebf0 0%,rgba(255,255,255,.3) 100%);--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0,0,0,.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0,0,0,.4);--wp--preset--shadow--sharp:6px 6px 0px rgba(0,0,0,.2);--wp--preset--shadow--outlined:6px 6px 0px -3px rgba(255,255,255,1),6px 6px rgba(0,0,0,1);--wp--preset--shadow--crisp:6px 6px 0px rgba(0,0,0,1)}:where(.is-layout-flex){gap:.5em}:where(.is-layout-grid){gap:.5em}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:root :where(.wp-block-pullquote){font-size:1.5em;line-height:1.6}@font-face{font-family:Poppins;font-display:fallback;font-style:normal;font-weight:700;src:local("Poppins Bold"),local("Poppins-Bold"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v5-latin-700.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v5-latin-700.woff") format("woff")}@font-face{font-family:Poppins;font-display:fallback;font-style:normal;font-weight:400;src:local("Poppins Regular"),local("Poppins-Regular"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v12-latin-regular.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v12-latin-regular.woff") format("woff")}@font-face{font-family:Noto Sans;font-display:optional;font-style:normal;font-weight:400;src:local("Noto Sans"),local("NotoSans"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-regular.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-regular.woff") format("woff")}@font-face{font-family:Noto Sans;font-display:optional;font-style:normal;font-weight:700;src:local("Noto Sans Bold"),local("NotoSans-Bold"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-700.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-700.woff") format("woff")}@font-face{font-family:Fira Mono;font-display:optional;font-style:normal;font-weight:400;src:local("Fira Mono"),local("FiraMono"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/fira-mono-v7-latin-500.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/fira-mono-v7-latin-500.woff") format("woff")}@font-face{font-family:system;font-style:normal;font-weight:300;src:local(".SFNSText-Light"),local(".HelveticaNeueDeskInterface-Light"),local(".LucidaGrandeUI"),local("Ubuntu Light"),local("Segoe UI Light"),local("Roboto-Light"),local("DroidSans"),local("Tahoma")}.is-style-button-primary a{background:#005af0;border-radius:0;color:#fff;position:relative;cursor:pointer;box-shadow:0 1.5625rem 1.25rem -.9375rem rgba(0,0,0,.15);padding:1rem 2rem;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429}.is-style-button-primary a:hover{transform:translateY(-.125em);box-shadow:0 1.5625rem 1.25rem -.9375rem rgba(0,0,0,.15)}.is-style-button-primary a:after{content:"→";margin-left:.3125rem;vertical-align:middle}.is-style-right-arrow-button a{border-bottom:.125rem solid #ebebf0;background:transparent;padding:.75rem .75rem .75rem 0;border-radius:0;color:#20202a;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429;display:inline-block}.is-style-right-arrow-button a:hover{transform:translateX(.625rem)}.is-style-right-arrow-button a:before{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow.svg");margin-left:.3125rem;margin-right:.625rem;padding:.8125rem;background:#005af0;display:inline-block;line-height:1}.is-style-left-arrow-button a{border-bottom:.125rem solid #ebebf0;background:transparent;padding:.75rem .75rem .75rem 0;border-radius:0;color:#20202a;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429;display:inline-block}.is-style-left-arrow-button a:hover{transform:translateX(.625rem)}.is-style-left-arrow-button a:before{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow.svg");margin-left:.3125rem;margin-right:.625rem;padding:.8125rem;background:#005af0;display:inline-block;line-height:1}.is-style-left-arrow-button a:hover{transform:translateX(-.625rem)}.is-style-left-arrow-button a:before{transform:rotate(180deg)}article,figcaption,figure,footer,header,main,nav{display:block}[hidden]{display:none}mark{background:#e0e0e0;color:#20202a}small{font-size:80%}svg:not(:root){overflow:hidden}button,input{color:inherit;font:inherit;margin:0}button{overflow:visible}button{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}figure{margin:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;left:-999em;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.screen-reader-text:focus{border-radius:.1875rem;box-shadow:0 0 .125rem .125rem rgba(0,0,0,.6);clip:auto;-webkit-clip-path:none;clip-path:none;display:block;font-size:1em;height:auto;left:.3125rem;line-height:normal;padding:.9375rem 1.4375rem .875rem;text-decoration:none;top:.3125rem;width:auto;z-index:100000}.clearfix:after,.clearfix:before{display:table;content:" ";flex-basis:0;order:1}.clearfix:after{clear:both}html{box-sizing:border-box;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#20202a}*,:after,:before{box-sizing:inherit}body{background:#fff;margin:0;font-size:.875rem;line-height:1.71429}body{font-family:Noto Sans,system}.wp-block-quote,blockquote{quotes:"" "";border-left:.25rem solid #005af0;font-style:italic;padding-left:1rem}.wp-block-quote:after,.wp-block-quote:before,blockquote:after,blockquote:before{content:""}amp-img{height:auto;vertical-align:middle}figure,amp-img{max-width:100%}a{transition:.3s;text-decoration:none}a,a:hover{color:#005af0}ul{margin:0 0 1.125rem}li>ul{margin-left:1.125rem}button,input[type=button],input[type=reset],input[type=submit]{background:#005af0;border:none;color:#fff;box-shadow:0 .9375rem 2.1875rem rgba(0,0,0,.08);display:inline-block;font-size:.875rem;font-weight:600;line-height:1.25rem;padding:.375rem .75rem;white-space:nowrap;vertical-align:middle;font-family:Poppins,system;outline:none}button:active,button:focus,button:hover,input[type=button]:active,input[type=button]:focus,input[type=button]:hover,input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:focus,input[type=submit]:hover{background:#005af0;border-color:#20202a}input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url]{color:#333;border:1px solid #eaeaea;border-radius:.1875rem}input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus{color:#20202a}input[type=email],input[type=password],input[type=search],input[type=text],input[type=url]{padding:.1875rem}p:empty{display:none}h1{font-size:1.75rem;line-height:1.14286}h1,h2{font-family:Poppins,system}h2{font-size:1.5625rem;line-height:1.28}h5{font-size:.875rem;line-height:1.71429}h1,h2,h5{margin-top:.5rem;margin-bottom:1rem}li>ul{margin-bottom:0}pre{background:#333d47;border:1px solid #eaeaea;max-width:100%;overflow:auto;padding:1rem}pre,pre a{color:#fff}pre a{text-decoration:underline}pre a:active,pre a:hover{color:#fff}pre>code{background:transparent;border:0;display:block;margin:0;padding:0}code{margin:0 .1875rem;padding:.125rem .375rem;background:#eaeaea;border-radius:.1875rem;border:1px solid #eaeaea}code,code a{color:#20202a}code a{text-decoration:underline}code a:active,code a:hover{color:#20202a}code,pre{font-family:Fira Mono,monospace}.site-content{word-wrap:break-word}.row{max-width:78.75rem;margin-right:auto;margin-left:auto;display:flex;flex-flow:row wrap}.row .row{margin-right:-.9375rem;margin-left:-.9375rem}.row:not(.expanded) .row{max-width:none}.column,.columns{flex:1 1 0px;padding-right:.9375rem;padding-left:.9375rem;min-width:0}.column.row.row,.row.row.columns{float:none;display:block}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-9{flex:0 0 75%;max-width:75%}.small-12{flex:0 0 100%;max-width:100%}.align-middle{align-items:center}@-webkit-keyframes fadeInLeft{0%{opacity:0;transform:translateX(-1.25rem)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-1.25rem)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes fadeInUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes amp-wp-org-loader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes amp-wp-org-loader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.site-header{padding:1rem 0;box-shadow:0 .9375rem 2.1875rem rgba(0,0,0,.08);position:relative;z-index:2}.site-branding svg{display:block}.search-container{display:flex;justify-content:space-between}.search-container .search-button{background:transparent;box-shadow:none;display:none;padding-top:.625rem;outline-color:#005af0}.search-container .download-button{box-shadow:0 .9375rem 2.1875rem rgba(0,0,0,.08);padding:.5625rem .75rem;font-weight:700;display:none;font-family:Poppins,system}.search-container .download-button:hover{color:#fff}.search-container .download-button:after{display:none}.toggled-on .amp-wp-org-main-navigation,.toggled-on .search-container .download-button{display:block}.menu-toggle{background:transparent;box-shadow:none;margin-left:auto}.menu-toggle:active,.menu-toggle:focus,.menu-toggle:hover{background:currentColor}.site-title{margin-bottom:.625rem}.search-bar{display:none}.toggled-on .search-bar{display:block}.search-bar__button--close{background:transparent;box-shadow:none;display:none}.search-bar__button--close:active,.search-bar__button--close:focus,.search-bar__button--close:hover{background:transparent}.search-bar .search-bar__input{border:none;flex-grow:100;outline:none}.search-bar .search-bar__wrap{margin-top:2rem;display:flex;justify-content:space-around}.search-bar .search-bar__inner{border:1px solid #ddd;padding:.625rem;display:flex;justify-content:space-between;margin:0 .9375rem}.site-footer{background:linear-gradient(45deg,#48525c,#29323c);color:#fff;padding:1.875rem 0}.site-footer .menu{list-style:none;display:flex;padding-left:0;flex-direction:column;margin:0}.site-footer .menu li{margin:0 .625rem}.site-footer .menu li:first-child{margin-left:0}.site-footer .menu li a{font-size:.75rem;line-height:1.33333;color:#fff}.site-footer .menu li a:hover{text-decoration:underline}.site-footer .menu .sub-menu{list-style:none}.site-footer .social-menu{display:flex;margin-top:1.5625rem;padding-left:0;flex-direction:row}.site-footer .social-menu svg{height:1.875rem;width:1.875rem;fill:#fff}.site-footer .social-menu.menu li{margin:0 .5rem}.site-footer .social-menu li:first-child{margin-left:0}.site-footer__footer-credits{font-size:.6875rem;line-height:1.45455}.site-footer__footer-credits .widget-footer{color:hsla(0,0%,100%,.5)}.site-footer__footer-credits a{color:hsla(0,0%,100%,.5);text-decoration:underline}.site-footer__footer-credits a:hover{color:hsla(0,0%,100%,.8)}.site-footer__footer-top{display:flex;flex-direction:column}.site-footer__footer-top .widget-footer{display:flex;align-items:center;align-self:flex-start;margin-bottom:1.25rem}.site-footer__footer-top .widget-footer p{line-height:1.875rem}.site-footer__footer-top .widget-footer .menu-social-container{margin-top:1rem}.site-footer__footer-menu{display:flex;justify-content:space-between;margin-bottom:.875rem}.scrollToTop{box-shadow:none;outline:none;font-size:.75rem;line-height:1.33333;font-family:Noto Sans,system}.scrollToTop,.scrollToTop:focus,.scrollToTop:hover{background:transparent}.scrollToTop:focus span,.scrollToTop:hover span{text-decoration:underline}.scrollToTop:before{content:"↑";display:inline-block}.entry-content{margin:0}.site-main{background:#fff}.single .entry-content{margin-top:2rem}.single .entry-content>p{margin-top:0}.amp-wp-org-main-navigation{width:100%;font-family:Poppins,system;font-weight:700;display:none;margin-top:1rem}.amp-wp-org-main-navigation ul{list-style:none;margin:0;padding-left:0;display:flex;flex-direction:column}.amp-wp-org-main-navigation ul ul{float:left;position:absolute;top:2.1875rem;left:-999em;z-index:99999;background:#fff}.amp-wp-org-main-navigation ul ul ul{left:-62.4375rem;top:0}.amp-wp-org-main-navigation ul ul li:focus-within>ul,.amp-wp-org-main-navigation ul ul li:hover>ul{left:100%}.amp-wp-org-main-navigation ul ul a{width:12.5rem}.amp-wp-org-main-navigation ul ul:focus-within>a,.amp-wp-org-main-navigation ul ul:hover>a{color:#005af0}.amp-wp-org-main-navigation ul li:focus-within>ul,.amp-wp-org-main-navigation ul li:hover>ul{left:auto}.amp-wp-org-main-navigation li{float:left;position:relative}.amp-wp-org-main-navigation li:focus-within>a,.amp-wp-org-main-navigation li:hover>a{color:#005af0}.amp-wp-org-main-navigation a{display:block;text-decoration:none;padding:.625rem 0;color:#20202a}.amp-wp-org-main-navigation .current-menu-item>a{color:#005af0}.widget{margin:0 0 1.875rem}@media (min-width:35.5em){.site-footer .menu{flex-direction:row}.site-footer__footer-top{justify-content:space-between;align-items:center;flex-direction:row}.toggled-on .amp-wp-org-main-navigation{display:block}}@media (min-width:35.5em) and (max-width:85em) and (min-width:35.5em) and (max-width:85em){.site-footer>.row,.site-header>.row{width:calc(100% - 4.375rem);margin-left:auto;margin-right:auto;padding-left:.9375rem;padding-right:.9375rem}.site-header-search{width:calc(100% - 4.375rem);margin-left:auto;margin-right:auto;padding-left:.9375rem;padding-right:.9375rem}}@media print,screen and (min-width:48em){.is-style-button-primary a,.is-style-left-arrow-button a,.is-style-right-arrow-button a{font-size:.9375rem;line-height:1.6}body{font-size:.9375rem;line-height:1.6}h1{font-size:2.8125rem;line-height:1.24444}h2{font-size:2.3125rem;line-height:1.2973}h5{font-size:.9375rem;line-height:1.6}.row .row{margin-right:-.9375rem;margin-left:-.9375rem}.column,.columns{padding-right:.9375rem;padding-left:.9375rem}.medium-12{flex:0 0 100%;max-width:100%}.site-footer .menu li a{font-size:.75rem;line-height:1.33333}.site-footer__footer-credits{font-size:.625rem;line-height:1.6}.scrollToTop{font-size:.75rem;line-height:1.33333}}@media (min-width:48em){h1,h2,h5{margin-top:1rem}.site-footer .social-menu{margin-top:0}}@media print,screen and (min-width:64em){.is-style-button-primary a,.is-style-left-arrow-button a,.is-style-right-arrow-button a{font-size:1rem;line-height:1.625}body{font-size:1rem;line-height:1.625}h1{font-size:3rem;line-height:1.16667}h2{font-size:2.5rem;line-height:1.2}h5{font-size:1rem;line-height:1.5}.row .row{margin-right:-.9375rem;margin-left:-.9375rem}.column,.columns{padding-right:.9375rem;padding-left:.9375rem}.large-2{flex:0 0 16.66667%;max-width:16.66667%}.large-3{flex:0 0 25%;max-width:25%}.large-7{flex:0 0 58.33333%;max-width:58.33333%}.large-9{flex:0 0 75%;max-width:75%}.large-11{flex:0 0 91.66667%;max-width:91.66667%}.large-12{flex:0 0 100%;max-width:100%}.site-footer .menu li a{font-size:.8125rem;line-height:1.23077}.site-footer__footer-credits{font-size:.6875rem;line-height:1.45455}.scrollToTop{font-size:.8125rem;line-height:1.23077}}@media (min-width:64em){h1,h2,h5{margin-top:1.5rem;margin-bottom:1.5rem}.search-container .download-button,.search-container .search-button{display:block}.menu-toggle{display:none}.search-bar.is-expanded,.search-bar__button--close{display:block}.search-bar .search-bar__inner{margin:0}.site-footer .social-menu{padding-left:2.5rem}.site-footer .social-menu li{margin:0 1.25rem}.amp-wp-org-main-navigation{display:block;margin-top:0}.amp-wp-org-main-navigation ul{flex-direction:row}.amp-wp-org-main-navigation a{padding:.625rem}.amp-wp-org-main-navigation .menu-item-has-children>a:after{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow-down.svg");margin-left:.3125rem;vertical-align:middle;line-height:1}.amp-wp-org-main-navigation .menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible}}@media (min-width:64em) and (max-width:70.625em){.amp-wp-org-main-navigation a{padding-right:.3125rem;padding-left:.3125rem}}@media screen and (min-width:80em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}.column,.columns{padding-right:.9375rem;padding-left:.9375rem}}@media (max-width:35.49em){.site-footer .menu li{margin:0}.site-footer .social-menu{margin-top:0}.site-footer__footer-top .widget-footer p{line-height:1.625rem}.site-footer__footer-top .widget-footer .menu-social-container{margin-top:0}.site-footer__footer-middle .widget{margin-bottom:1rem}}@font-face{font-family:Poppins;font-display:fallback;font-style:normal;font-weight:700;src:local("Poppins Bold"),local("Poppins-Bold"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v5-latin-700.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v5-latin-700.woff") format("woff")}@font-face{font-family:Poppins;font-display:fallback;font-style:normal;font-weight:400;src:local("Poppins Regular"),local("Poppins-Regular"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v12-latin-regular.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/poppins-v12-latin-regular.woff") format("woff")}@font-face{font-family:Noto Sans;font-display:optional;font-style:normal;font-weight:400;src:local("Noto Sans"),local("NotoSans"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-regular.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-regular.woff") format("woff")}@font-face{font-family:Noto Sans;font-display:optional;font-style:normal;font-weight:700;src:local("Noto Sans Bold"),local("NotoSans-Bold"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-700.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/noto-sans-v7-latin-700.woff") format("woff")}@font-face{font-family:Fira Mono;font-display:optional;font-style:normal;font-weight:400;src:local("Fira Mono"),local("FiraMono"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/fira-mono-v7-latin-500.woff2") format("woff2"),url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/build/fonts/fira-mono-v7-latin-500.woff") format("woff")}@font-face{font-family:system;font-style:normal;font-weight:300;src:local(".SFNSText-Light"),local(".HelveticaNeueDeskInterface-Light"),local(".LucidaGrandeUI"),local("Ubuntu Light"),local("Segoe UI Light"),local("Roboto-Light"),local("DroidSans"),local("Tahoma")}.is-style-button-primary a{background:#005af0;border-radius:0;color:#fff;position:relative;cursor:pointer;box-shadow:0 1.5625rem 1.25rem -.9375rem rgba(0,0,0,.15);padding:1rem 2rem;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429}.is-style-button-primary a:hover{transform:translateY(-.125em);box-shadow:0 1.5625rem 1.25rem -.9375rem rgba(0,0,0,.15)}.is-style-button-primary a:after{content:"→";margin-left:.3125rem;vertical-align:middle}.is-style-right-arrow-button a{border-bottom:.125rem solid #ebebf0;background:transparent;padding:.75rem .75rem .75rem 0;border-radius:0;color:#20202a;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429;display:inline-block}.is-style-right-arrow-button a:hover{transform:translateX(.625rem)}.is-style-right-arrow-button a:before{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow.svg");margin-left:.3125rem;margin-right:.625rem;padding:.8125rem;background:#005af0;display:inline-block;line-height:1}.is-style-left-arrow-button a{border-bottom:.125rem solid #ebebf0;background:transparent;padding:.75rem .75rem .75rem 0;border-radius:0;color:#20202a;font-weight:700;font-family:Poppins,system;font-size:.875rem;line-height:1.71429;display:inline-block}.is-style-left-arrow-button a:hover{transform:translateX(.625rem)}.is-style-left-arrow-button a:before{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow.svg");margin-left:.3125rem;margin-right:.625rem;padding:.8125rem;background:#005af0;display:inline-block;line-height:1}.is-style-left-arrow-button a:hover{transform:translateX(-.625rem)}.is-style-left-arrow-button a:before{transform:rotate(180deg)}.single-documentation .site-content{background:#fafafd}.single-documentation .site-main{padding:2rem;margin:2rem 0;box-shadow:0 .9375rem 2.1875rem rgba(0,0,0,.08)}.single-documentation .page-navigation{display:flex;flex-direction:column}.single-documentation .page-navigation .is-style-left-arrow-button,.single-documentation .page-navigation .is-style-right-arrow-button{margin:1rem 0;max-width:46%}.single-documentation .page-navigation .is-style-left-arrow-button a,.single-documentation .page-navigation .is-style-right-arrow-button a{position:relative;display:flex;justify-content:center;align-items:center;padding-top:.75rem;padding-bottom:.75rem;min-height:4.6875rem}.single-documentation .page-navigation .is-style-left-arrow-button a:before,.single-documentation .page-navigation .is-style-right-arrow-button a:before{position:absolute}.single-documentation .page-navigation .is-style-left-arrow-button a{padding-left:4.375rem;justify-content:flex-start}.single-documentation .page-navigation .is-style-left-arrow-button a:before{left:0;top:50%;margin-top:-1.375rem}.single-documentation .page-navigation .is-style-right-arrow-button a{padding-right:4.375rem;justify-content:flex-end}.single-documentation .page-navigation .is-style-right-arrow-button a:before{right:0;margin-right:.3125rem;top:50%;margin-top:-1.375rem}.single-documentation .toc-heading .anchor{color:#20202a;display:none}.single-documentation .section-nav{margin-top:3rem}.single-documentation .section-nav a{color:#20202a;display:inline-block}.single-documentation .section-nav .link-wrap{display:flex;justify-content:space-between}.single-documentation .section-nav .section-nav__menu{padding-left:0;font-family:Poppins,system;font-weight:700;list-style:none}.single-documentation .section-nav .sub-menu{font-family:Noto Sans,system;display:none;list-style:none;font-weight:400;padding:0}.single-documentation .section-nav .sub-menu.toggled-on{display:block}.single-documentation .section-nav .sub-menu .menu-item{padding:.3125rem}.single-documentation .section-nav .sub-menu .menu-item.current-menu-parent,.single-documentation .section-nav .sub-menu .menu-item:last-child:not(.current-menu-item){padding-bottom:0}.single-documentation .section-nav .sub-menu .current-menu-parent .link-wrap{margin-bottom:.3125rem}.single-documentation .section-nav .sub-menu .sub-menu .current-menu-item:not(.menu-item-has-children){background:rgba(51,61,71,.1);border-radius:.1875rem;padding-left:.625rem;padding-right:.625rem}.single-documentation .section-nav .current-menu-item>.link-wrap a,.single-documentation .section-nav .current-menu-item>a,.single-documentation .section-nav .current-menu-parent>.link-wrap a{color:#005af0}.single-documentation .section-nav .section-nav__menu>li{border-bottom:1px solid rgba(0,0,0,.15);padding:1rem 0}.single-documentation .section-nav .section-nav__menu>li>.link-wrap a{color:#20202a}.single-documentation .section-nav .section-nav__menu>li:first-child{border-top:1px solid rgba(0,0,0,.15)}.single-documentation .section-nav .dropdown-toggle{color:#20202a;background:transparent;box-shadow:none;margin-right:.1875rem;outline:none;line-height:.75rem}.single-documentation .section-nav .dropdown-toggle:after{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow-right.svg");height:.75rem;line-height:.75rem;width:.75rem;display:inline-block}.single-documentation .section-nav .dropdown-toggle.toggled-on:after{content:url("https://amp-wp.org/wp-content/themes/amp-wp-org-theme/assets/img/arrow-down.svg");transform:rotate(0)}.single-documentation .table-of-contents{border:1px solid #eaeaea;padding:1rem;font-size:.75rem;line-height:1.33333}.single-documentation .table-of-contents a{color:#20202a}.single-documentation .table-of-contents ul{list-style:none}.single-documentation .table-of-contents .table-of-contents__items{margin-left:0;padding-left:0;font-weight:700}.single-documentation .table-of-contents .table-of-contents__items li{margin:1rem 0}.single-documentation .table-of-contents .table-of-contents__items ul{padding-left:0;font-weight:400}.single-documentation .documentation-content{flex-direction:column-reverse}.single-documentation .wp-block-code code{border:none}@media (min-width:35.5em){.single-documentation .page-navigation{flex-direction:row}.single-documentation .page-navigation .is-style-left-arrow-button{margin-right:auto}.single-documentation .page-navigation .is-style-right-arrow-button{margin-left:auto}.single-documentation .section-nav .link-wrap{flex-direction:row-reverse;justify-content:flex-end}.single-documentation .section-nav .menu-item:not(.menu-item-has-children)>a{margin-left:2.5rem}}@media print,screen and (min-width:48em){.is-style-button-primary a,.is-style-left-arrow-button a,.is-style-right-arrow-button a{font-size:.9375rem;line-height:1.6}.single-documentation .table-of-contents{font-size:.75rem;line-height:1.33333}}@media print,screen and (min-width:64em){.is-style-button-primary a,.is-style-left-arrow-button a,.is-style-right-arrow-button a{font-size:1rem;line-height:1.625}.single-documentation .table-of-contents{font-size:.8125rem;line-height:1.23077}}@media (min-width:64em){.single-documentation .table-of-contents{border:none;padding:0}.single-documentation .table-of-contents .table-of-contents__items a{opacity:.6}.single-documentation .toc-wrapper{position:absolute;top:0;right:0;height:100%}.single-documentation .toc-wrapper .table-of-contents{top:3.5rem;position:-webkit-sticky;position:sticky}.single-documentation .documentation-content{flex-direction:row;position:relative}}@media (max-width:47.99em){.single-documentation .page-navigation .is-style-left-arrow-button,.single-documentation .page-navigation .is-style-right-arrow-button{max-width:100%}.single-documentation .page-navigation .is-style-left-arrow-button a,.single-documentation .page-navigation .is-style-right-arrow-button a{border:0}}@font-face{font-family:social-logos;src:url("data:application/octet-stream;base64,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") format("woff2");display:inline-block;vertical-align:middle;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}amp-img#wpstats{display:none}body,html{-webkit-font-smoothing:antialiased}pre code{tab-size:4}@media screen and (max-width: 600px){pre code{tab-size:2}} /*# sourceURL=amp-custom.css */</style><link rel="profile" href="http://gmpg.org/xfn/11"><link rel="alternate" type="application/rss+xml" title="AMP for WordPress » Feed" href="https://amp-wp.org/feed/"><link rel="alternate" type="application/rss+xml" title="AMP for WordPress » Comments Feed" href="https://amp-wp.org/comments/feed/"><link rel="alternate" type="application/rss+xml" title="AMP for WordPress » Stories Feed" href="https://amp-wp.org/web-stories/feed/"><link rel="https://api.w.org/" href="https://amp-wp.org/wp-json/"><link rel="alternate" title="JSON" type="application/json" href="https://amp-wp.org/wp-json/wp/v2/docs/5463"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://amp-wp.org/xmlrpc.php?rsd"><link rel="canonical" href="https://amp-wp.org/documentation/playbooks/handling-form-submissions/"><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://amp-wp.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Famp-wp.org%2Fdocumentation%2Fplaybooks%2Fhandling-form-submissions%2F"><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://amp-wp.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Famp-wp.org%2Fdocumentation%2Fplaybooks%2Fhandling-form-submissions%2F&amp;format=xml"><link rel="manifest" href="https://amp-wp.org/wp-json/wp/v2/web-app-manifest"><link rel="apple-touch-startup-image" href="https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo-192x192.png"><link rel="apple-touch-icon" href="https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo-180x180.png"><title>Handling Form Submissions – AMP for WordPress</title><script type="application/ld+json">{"@context":"http://schema.org","publisher":{"@type":"Organization","name":"AMP for WordPress","logo":{"@type":"ImageObject","url":"https://amp-wp.org/wp-content/uploads/2020/08/cropped-amp-wp-logo.png"}},"@type":"BlogPosting","mainEntityOfPage":"https://amp-wp.org/documentation/playbooks/handling-form-submissions/","headline":"Handling Form Submissions","datePublished":"2019-06-03T23:48:04+00:00","dateModified":"2020-09-10T19:44:19+00:00","author":{"@type":"Person","name":"Weston Ruter"},"image":"https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown.png"}</script></head> <body class="documentation-template-default single single-documentation postid-5463" on="tap:AMP.setState( { filterTemplateMode: { show: false }, filterEcosystemType: { show: false }, filterCategories: { show: false }, filterOrder: { show: false } } )" role="button" tabindex="0"> <svg hidden> <defs> <symbol id="header-logo" width="220" height="35" viewbox="0 0 220 35" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M53.982 20.7677H49.266L48.51 22.9997H45.288L49.86 10.3637H53.424L57.996 22.9997H54.738L53.982 20.7677ZM53.19 18.3917L51.624 13.7657L50.076 18.3917H53.19Z" fill="#20202A" /> <path d="M73.6975 10.3637V22.9997H70.6195V15.4217L67.7935 22.9997H65.3095L62.4655 15.4037V22.9997H59.3875V10.3637H63.0235L66.5695 19.1117L70.0795 10.3637H73.6975Z" fill="#20202A" /> <path d="M85.5409 14.4317C85.5409 15.1637 85.3729 15.8357 85.0369 16.4477C84.7009 17.0477 84.1849 17.5337 83.4889 17.9057C82.7929 18.2777 81.9289 18.4637 80.8969 18.4637H78.9889V22.9997H75.9109V10.3637H80.8969C81.9049 10.3637 82.7569 10.5377 83.4529 10.8857C84.1489 11.2337 84.6709 11.7137 85.0189 12.3257C85.3669 12.9377 85.5409 13.6397 85.5409 14.4317ZM80.6629 16.0157C81.2509 16.0157 81.6889 15.8777 81.9769 15.6017C82.2649 15.3257 82.4089 14.9357 82.4089 14.4317C82.4089 13.9277 82.2649 13.5377 81.9769 13.2617C81.6889 12.9857 81.2509 12.8477 80.6629 12.8477H78.9889V16.0157H80.6629Z" fill="#20202A" /> <path d="M95.9978 15.5117H94.3418V22.9997H91.2638V15.5117H90.1478V12.9557H91.2638V12.6677C91.2638 11.4317 91.6178 10.4957 92.3258 9.8597C93.0338 9.2117 94.0718 8.8877 95.4398 8.8877C95.6678 8.8877 95.8358 8.8937 95.9438 8.9057V11.5157C95.3558 11.4797 94.9418 11.5637 94.7018 11.7677C94.4618 11.9717 94.3418 12.3377 94.3418 12.8657V12.9557H95.9978V15.5117Z" fill="#20202A" /> <path d="M102.016 23.1437C101.032 23.1437 100.144 22.9337 99.3521 22.5137C98.5722 22.0937 97.9542 21.4937 97.4981 20.7137C97.0541 19.9337 96.8321 19.0217 96.8321 17.9777C96.8321 16.9457 97.0602 16.0397 97.5162 15.2597C97.9722 14.4677 98.5961 13.8617 99.3881 13.4417C100.18 13.0217 101.068 12.8117 102.052 12.8117C103.036 12.8117 103.924 13.0217 104.716 13.4417C105.508 13.8617 106.132 14.4677 106.588 15.2597C107.044 16.0397 107.272 16.9457 107.272 17.9777C107.272 19.0097 107.038 19.9217 106.57 20.7137C106.114 21.4937 105.484 22.0937 104.68 22.5137C103.888 22.9337 103 23.1437 102.016 23.1437ZM102.016 20.4797C102.604 20.4797 103.102 20.2637 103.51 19.8317C103.93 19.3997 104.14 18.7817 104.14 17.9777C104.14 17.1737 103.936 16.5557 103.528 16.1237C103.132 15.6917 102.64 15.4757 102.052 15.4757C101.452 15.4757 100.954 15.6917 100.558 16.1237C100.162 16.5437 99.9641 17.1617 99.9641 17.9777C99.9641 18.7817 100.156 19.3997 100.54 19.8317C100.936 20.2637 101.428 20.4797 102.016 20.4797Z" fill="#20202A" /> <path d="M111.983 14.6297C112.343 14.0777 112.793 13.6457 113.333 13.3337C113.873 13.0097 114.473 12.8477 115.133 12.8477V16.1057H114.287C113.519 16.1057 112.943 16.2737 112.559 16.6097C112.175 16.9337 111.983 17.5097 111.983 18.3377V22.9997H108.905V12.9557H111.983V14.6297Z" fill="#20202A" /> <path d="M137.807 10.3637L134.513 22.9997H130.787L128.771 14.6837L126.683 22.9997H122.957L119.753 10.3637H123.047L124.865 19.5617L127.115 10.3637H130.499L132.659 19.5617L134.495 10.3637H137.807Z" fill="#20202A" /> <path d="M143.922 23.1437C142.938 23.1437 142.05 22.9337 141.258 22.5137C140.478 22.0937 139.86 21.4937 139.404 20.7137C138.96 19.9337 138.738 19.0217 138.738 17.9777C138.738 16.9457 138.966 16.0397 139.422 15.2597C139.878 14.4677 140.502 13.8617 141.294 13.4417C142.086 13.0217 142.974 12.8117 143.958 12.8117C144.942 12.8117 145.83 13.0217 146.622 13.4417C147.414 13.8617 148.038 14.4677 148.494 15.2597C148.95 16.0397 149.178 16.9457 149.178 17.9777C149.178 19.0097 148.944 19.9217 148.476 20.7137C148.02 21.4937 147.39 22.0937 146.586 22.5137C145.794 22.9337 144.906 23.1437 143.922 23.1437ZM143.922 20.4797C144.51 20.4797 145.008 20.2637 145.416 19.8317C145.836 19.3997 146.046 18.7817 146.046 17.9777C146.046 17.1737 145.842 16.5557 145.434 16.1237C145.038 15.6917 144.546 15.4757 143.958 15.4757C143.358 15.4757 142.86 15.6917 142.464 16.1237C142.068 16.5437 141.87 17.1617 141.87 17.9777C141.87 18.7817 142.062 19.3997 142.446 19.8317C142.842 20.2637 143.334 20.4797 143.922 20.4797Z" fill="#20202A" /> <path d="M153.889 14.6297C154.249 14.0777 154.699 13.6457 155.239 13.3337C155.779 13.0097 156.379 12.8477 157.039 12.8477V16.1057H156.193C155.425 16.1057 154.849 16.2737 154.465 16.6097C154.081 16.9337 153.889 17.5097 153.889 18.3377V22.9997H150.811V12.9557H153.889V14.6297Z" fill="#20202A" /> <path d="M157.899 17.9597C157.899 16.9277 158.091 16.0217 158.475 15.2417C158.871 14.4617 159.405 13.8617 160.077 13.4417C160.749 13.0217 161.499 12.8117 162.327 12.8117C162.987 12.8117 163.587 12.9497 164.127 13.2257C164.679 13.5017 165.111 13.8737 165.423 14.3417V9.6797H168.501V22.9997H165.423V21.5597C165.135 22.0397 164.721 22.4237 164.181 22.7117C163.653 22.9997 163.035 23.1437 162.327 23.1437C161.499 23.1437 160.749 22.9337 160.077 22.5137C159.405 22.0817 158.871 21.4757 158.475 20.6957C158.091 19.9037 157.899 18.9917 157.899 17.9597ZM165.423 17.9777C165.423 17.2097 165.207 16.6037 164.775 16.1597C164.355 15.7157 163.839 15.4937 163.227 15.4937C162.615 15.4937 162.093 15.7157 161.661 16.1597C161.241 16.5917 161.031 17.1917 161.031 17.9597C161.031 18.7277 161.241 19.3397 161.661 19.7957C162.093 20.2397 162.615 20.4617 163.227 20.4617C163.839 20.4617 164.355 20.2397 164.775 19.7957C165.207 19.3517 165.423 18.7457 165.423 17.9777Z" fill="#20202A" /> <path d="M180.357 14.4317C180.357 15.1637 180.189 15.8357 179.853 16.4477C179.517 17.0477 179.001 17.5337 178.305 17.9057C177.609 18.2777 176.745 18.4637 175.713 18.4637H173.805V22.9997H170.727V10.3637H175.713C176.721 10.3637 177.573 10.5377 178.269 10.8857C178.965 11.2337 179.487 11.7137 179.835 12.3257C180.183 12.9377 180.357 13.6397 180.357 14.4317ZM175.479 16.0157C176.067 16.0157 176.505 15.8777 176.793 15.6017C177.081 15.3257 177.225 14.9357 177.225 14.4317C177.225 13.9277 177.081 13.5377 176.793 13.2617C176.505 12.9857 176.067 12.8477 175.479 12.8477H173.805V16.0157H175.479Z" fill="#20202A" /> <path d="M185.038 14.6297C185.398 14.0777 185.848 13.6457 186.388 13.3337C186.928 13.0097 187.528 12.8477 188.188 12.8477V16.1057H187.342C186.574 16.1057 185.998 16.2737 185.614 16.6097C185.23 16.9337 185.038 17.5097 185.038 18.3377V22.9997H181.96V12.9557H185.038V14.6297Z" fill="#20202A" /> <path d="M199.127 17.8157C199.127 18.1037 199.109 18.4037 199.073 18.7157H192.107C192.155 19.3397 192.353 19.8197 192.701 20.1557C193.061 20.4797 193.499 20.6417 194.015 20.6417C194.783 20.6417 195.317 20.3177 195.617 19.6697H198.893C198.725 20.3297 198.419 20.9237 197.975 21.4517C197.543 21.9797 196.997 22.3937 196.337 22.6937C195.677 22.9937 194.939 23.1437 194.123 23.1437C193.139 23.1437 192.263 22.9337 191.495 22.5137C190.727 22.0937 190.127 21.4937 189.695 20.7137C189.263 19.9337 189.047 19.0217 189.047 17.9777C189.047 16.9337 189.257 16.0217 189.677 15.2417C190.109 14.4617 190.709 13.8617 191.477 13.4417C192.245 13.0217 193.127 12.8117 194.123 12.8117C195.095 12.8117 195.959 13.0157 196.715 13.4237C197.471 13.8317 198.059 14.4137 198.479 15.1697C198.911 15.9257 199.127 16.8077 199.127 17.8157ZM195.977 17.0057C195.977 16.4777 195.797 16.0577 195.437 15.7457C195.077 15.4337 194.627 15.2777 194.087 15.2777C193.571 15.2777 193.133 15.4277 192.773 15.7277C192.425 16.0277 192.209 16.4537 192.125 17.0057H195.977Z" fill="#20202A" /> <path d="M204.837 23.1437C203.961 23.1437 203.181 22.9937 202.497 22.6937C201.813 22.3937 201.273 21.9857 200.877 21.4697C200.481 20.9417 200.259 20.3537 200.211 19.7057H203.253C203.289 20.0537 203.451 20.3357 203.739 20.5517C204.027 20.7677 204.381 20.8757 204.801 20.8757C205.185 20.8757 205.479 20.8037 205.683 20.6597C205.899 20.5037 206.007 20.3057 206.007 20.0657C206.007 19.7777 205.857 19.5677 205.557 19.4357C205.257 19.2917 204.771 19.1357 204.099 18.9677C203.379 18.7997 202.779 18.6257 202.299 18.4457C201.819 18.2537 201.405 17.9597 201.057 17.5637C200.709 17.1557 200.535 16.6097 200.535 15.9257C200.535 15.3497 200.691 14.8277 201.003 14.3597C201.327 13.8797 201.795 13.5017 202.407 13.2257C203.031 12.9497 203.769 12.8117 204.621 12.8117C205.881 12.8117 206.871 13.1237 207.591 13.7477C208.323 14.3717 208.743 15.1997 208.851 16.2317H206.007C205.959 15.8837 205.803 15.6077 205.539 15.4037C205.287 15.1997 204.951 15.0977 204.531 15.0977C204.171 15.0977 203.895 15.1697 203.703 15.3137C203.511 15.4457 203.415 15.6317 203.415 15.8717C203.415 16.1597 203.565 16.3757 203.865 16.5197C204.177 16.6637 204.657 16.8077 205.305 16.9517C206.049 17.1437 206.655 17.3357 207.123 17.5277C207.591 17.7077 207.999 18.0077 208.347 18.4277C208.707 18.8357 208.893 19.3877 208.905 20.0837C208.905 20.6717 208.737 21.1997 208.401 21.6677C208.077 22.1237 207.603 22.4837 206.979 22.7477C206.367 23.0117 205.653 23.1437 204.837 23.1437Z" fill="#20202A" /> <path d="M214.874 23.1437C213.998 23.1437 213.218 22.9937 212.534 22.6937C211.85 22.3937 211.31 21.9857 210.914 21.4697C210.518 20.9417 210.296 20.3537 210.248 19.7057H213.29C213.326 20.0537 213.488 20.3357 213.776 20.5517C214.064 20.7677 214.418 20.8757 214.838 20.8757C215.222 20.8757 215.516 20.8037 215.72 20.6597C215.936 20.5037 216.044 20.3057 216.044 20.0657C216.044 19.7777 215.894 19.5677 215.594 19.4357C215.294 19.2917 214.808 19.1357 214.136 18.9677C213.416 18.7997 212.816 18.6257 212.336 18.4457C211.856 18.2537 211.442 17.9597 211.094 17.5637C210.746 17.1557 210.572 16.6097 210.572 15.9257C210.572 15.3497 210.728 14.8277 211.04 14.3597C211.364 13.8797 211.832 13.5017 212.444 13.2257C213.068 12.9497 213.806 12.8117 214.658 12.8117C215.918 12.8117 216.908 13.1237 217.628 13.7477C218.36 14.3717 218.78 15.1997 218.888 16.2317H216.044C215.996 15.8837 215.84 15.6077 215.576 15.4037C215.324 15.1997 214.988 15.0977 214.568 15.0977C214.208 15.0977 213.932 15.1697 213.74 15.3137C213.548 15.4457 213.452 15.6317 213.452 15.8717C213.452 16.1597 213.602 16.3757 213.902 16.5197C214.214 16.6637 214.694 16.8077 215.342 16.9517C216.086 17.1437 216.692 17.3357 217.16 17.5277C217.628 17.7077 218.036 18.0077 218.384 18.4277C218.744 18.8357 218.93 19.3877 218.942 20.0837C218.942 20.6717 218.774 21.1997 218.438 21.6677C218.114 22.1237 217.64 22.4837 217.016 22.7477C216.404 23.0117 215.69 23.1437 214.874 23.1437Z" fill="#20202A" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.6336 0C9.4472 0 2 7.44523 2 16.6314C2 25.818 9.4472 33.2629 18.6336 33.2629C27.8207 33.2629 35.2672 25.8173 35.2672 16.6314C35.2672 7.44556 27.821 0 18.6336 0ZM24.3369 15.1083L17.3588 26.7194H16.0947L17.3445 19.1538L13.42 19.1604C13.0717 19.1604 12.7896 18.878 12.7892 18.5301V18.5291C12.7892 18.3794 12.9283 18.1263 12.9283 18.1263L19.8831 6.52917L21.1699 6.53449L19.8881 14.1124L23.8403 14.1065C24.1889 14.1058 24.471 14.3885 24.4717 14.7361V14.7371C24.4717 14.8788 24.4158 15.0026 24.3373 15.108L24.3379 15.1083H24.3369Z" fill="#005AF0" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M36.8192 26.6839C36.8192 22.1911 33.1768 18.5488 28.683 18.5488C24.1896 18.5488 20.5469 22.1911 20.5469 26.6839C20.5469 31.1768 24.1896 34.819 28.683 34.819C33.1768 34.819 36.8192 31.1768 36.8192 26.6839Z" fill="white" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M28.6827 34.6191C24.3074 34.6191 20.7475 31.0599 20.7475 26.6845C20.7475 22.3101 24.3074 18.7507 28.6827 18.7507C33.0581 18.7507 36.618 22.3101 36.618 26.6845C36.618 31.0599 33.0581 34.6191 28.6827 34.6191ZM28.6827 18.3691C24.0972 18.3691 20.3663 22.0992 20.3663 26.6845C20.3663 31.2701 24.0972 35.0002 28.6827 35.0002C33.2683 35.0002 36.9999 31.2701 36.9999 26.6845C36.9999 22.0992 33.268 18.3691 28.6827 18.3691ZM34.943 23.2621C34.9739 23.4896 34.9909 23.7331 34.9909 23.9959C34.9909 24.7197 34.8561 25.5336 34.4486 26.5508L32.2693 32.8508C34.3907 31.6141 35.8169 29.3166 35.8169 26.6849C35.8169 25.4445 35.5002 24.2786 34.943 23.2621ZM28.8082 27.3085L26.6674 33.528C27.3218 33.7206 28.0004 33.8184 28.6827 33.8184C29.5138 33.8184 30.3105 33.6747 31.052 33.4143C31.0321 33.383 31.0154 33.3501 31.0015 33.3158L28.8082 27.3085ZM33.4992 26.3243C33.4992 25.4432 33.1821 24.8325 32.9107 24.3571C32.5491 23.7697 32.2101 23.2721 32.2101 22.6847C32.2101 22.0287 32.7077 21.4183 33.4084 21.4183C33.4396 21.4183 33.4699 21.422 33.5005 21.424C32.2314 20.2615 30.5401 19.5513 28.6827 19.5513C26.19 19.5513 23.9977 20.8299 22.7219 22.7668C22.8893 22.7718 23.0469 22.7751 23.181 22.7751C23.9272 22.7751 25.0822 22.6847 25.0822 22.6847C25.4671 22.662 25.5124 23.2269 25.1281 23.2724C25.1281 23.2724 24.7419 23.3177 24.3114 23.3403L26.9096 31.0672L28.4708 26.3855L27.3594 23.3403C26.9755 23.3173 26.6115 23.2721 26.6115 23.2721C26.2266 23.2495 26.2719 22.662 26.6564 22.6847C26.6564 22.6847 27.8348 22.7751 28.5357 22.7751C29.2819 22.7751 30.4369 22.6847 30.4369 22.6847C30.8218 22.662 30.8674 23.2265 30.4828 23.2721C30.4828 23.2721 30.0956 23.3173 29.6661 23.3403L32.2447 31.0087L32.9562 28.6307C33.2643 27.6442 33.4995 26.9357 33.4995 26.3246L33.4992 26.3243ZM21.5486 26.6845C21.5486 29.5082 23.1893 31.9484 25.5696 33.1046L22.166 23.7813C21.7582 24.6947 21.5476 25.6843 21.5486 26.6845Z" fill="black" /> </symbol> <symbol id="search-icon" width="15" height="16" viewbox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.7949 13.8535C14.9316 13.9902 15 14.1562 15 14.3516C15 14.5469 14.9316 14.7129 14.7949 14.8496L13.9746 15.6699C13.8379 15.8066 13.6719 15.875 13.4766 15.875C13.2812 15.875 13.1152 15.8066 12.9785 15.6699L10.0488 12.7402C9.91211 12.6035 9.84375 12.4375 9.84375 12.2422V11.7734C8.75 12.6328 7.5 13.0625 6.09375 13.0625C4.41406 13.0625 2.97852 12.4668 1.78711 11.2754C0.595703 10.084 0 8.64844 0 6.96875C0 5.28906 0.595703 3.85352 1.78711 2.66211C2.97852 1.4707 4.41406 0.875 6.09375 0.875C7.77344 0.875 9.20898 1.4707 10.4004 2.66211C11.5918 3.85352 12.1875 5.28906 12.1875 6.96875C12.1875 8.375 11.7578 9.625 10.8984 10.7188H11.3672C11.5625 10.7188 11.7285 10.7871 11.8652 10.9238L14.7949 13.8535ZM3.42773 9.63477C4.16992 10.3574 5.05859 10.7188 6.09375 10.7188C7.12891 10.7188 8.00781 10.3574 8.73047 9.63477C9.47266 8.89258 9.84375 8.00391 9.84375 6.96875C9.84375 5.93359 9.47266 5.05469 8.73047 4.33203C8.00781 3.58984 7.12891 3.21875 6.09375 3.21875C5.05859 3.21875 4.16992 3.58984 3.42773 4.33203C2.70508 5.05469 2.34375 5.93359 2.34375 6.96875C2.34375 8.00391 2.70508 8.89258 3.42773 9.63477Z" fill="#20202A" /> </symbol> <symbol id="hamburger-menu" width="35" height="34" viewbox="0 0 35 34" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="5" y="7" width="24" height="4" fill="#005AF0"></rect> <rect x="5" y="23" width="24" height="4" fill="#005AF0"></rect> <rect x="5" y="15" width="24" height="4" fill="#005AF0"></rect> </symbol> <symbol id="twitter-icon" viewbox="0 0 41 34" xmlns="http://www.w3.org/2000/svg"> <path d="M36.6007 8.875C38.1632 7.70312 39.5695 6.29688 40.6632 4.65625C39.257 5.28125 37.6163 5.75 35.9757 5.90625C37.6945 4.89062 38.9445 3.32812 39.5695 1.375C38.007 2.3125 36.2101 3.01562 34.4132 3.40625C32.8507 1.76562 30.7413 0.828125 28.3976 0.828125C23.8663 0.828125 20.1945 4.5 20.1945 9.03125C20.1945 9.65625 20.2726 10.2812 20.4288 10.9062C13.632 10.5156 7.53821 7.23438 3.47571 2.3125C2.77258 3.48438 2.38196 4.89062 2.38196 6.45312C2.38196 9.26562 3.78821 11.7656 6.05383 13.25C4.72571 13.1719 3.39758 12.8594 2.30383 12.2344V12.3125C2.30383 16.2969 5.11633 19.5781 8.86633 20.3594C8.24133 20.5156 7.46008 20.6719 6.75696 20.6719C6.21008 20.6719 5.74133 20.5938 5.19446 20.5156C6.21008 23.7969 9.25696 26.1406 12.8507 26.2188C10.0382 28.4062 6.52258 29.7344 2.69446 29.7344C1.99133 29.7344 1.36633 29.6562 0.741333 29.5781C4.33508 31.9219 8.63196 33.25 13.3195 33.25C28.3976 33.25 36.6007 20.8281 36.6007 9.96875C36.6007 9.57812 36.6007 9.26562 36.6007 8.875Z" /> </symbol> <symbol id="linkedin-icon" viewbox="0 0 35 36" xmlns="http://www.w3.org/2000/svg"> <path d="M32.5 0.5H2.42188C1.09375 0.5 0 1.67188 0 3.07812V33C0 34.4062 1.09375 35.5 2.42188 35.5H32.5C33.8281 35.5 35 34.4062 35 33V3.07812C35 1.67188 33.8281 0.5 32.5 0.5ZM10.5469 30.5H5.39062V13.8594H10.5469V30.5ZM7.96875 11.5156C6.25 11.5156 4.92188 10.1875 4.92188 8.54688C4.92188 6.90625 6.25 5.5 7.96875 5.5C9.60938 5.5 10.9375 6.90625 10.9375 8.54688C10.9375 10.1875 9.60938 11.5156 7.96875 11.5156ZM30 30.5H24.7656V22.375C24.7656 20.5 24.7656 18 22.1094 18C19.375 18 18.9844 20.1094 18.9844 22.2969V30.5H13.8281V13.8594H18.75V16.125H18.8281C19.5312 14.7969 21.25 13.3906 23.75 13.3906C28.9844 13.3906 30 16.9062 30 21.3594V30.5Z" /> </symbol> <symbol id="facebook-icon" viewbox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"> <path d="M31.75 0.5H4.25C2.14062 0.5 0.5 2.21875 0.5 4.25V31.75C0.5 33.8594 2.14062 35.5 4.25 35.5H14.9531V23.625H10.0312V18H14.9531V13.7812C14.9531 8.9375 17.8438 6.20312 22.2188 6.20312C24.4062 6.20312 26.5938 6.59375 26.5938 6.59375V11.3594H24.1719C21.75 11.3594 20.9688 12.8438 20.9688 14.4062V18H26.3594L25.5 23.625H20.9688V35.5H31.75C33.7812 35.5 35.5 33.8594 35.5 31.75V4.25C35.5 2.21875 33.7812 0.5 31.75 0.5Z" /> </symbol> <symbol id="github-icon" viewbox="0 0 41 40" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.507 0C9.16704 0 0 9.16704 0 20.507C0 29.5722 5.8737 37.2453 14.0222 39.9615C15.0407 40.1652 15.4142 39.5201 15.4142 38.9769C15.4142 38.5016 15.3803 36.8719 15.3803 35.1743C9.67632 36.3965 8.488 32.7297 8.488 32.7297C7.5713 30.3531 6.21322 29.7419 6.21322 29.7419C4.34586 28.4857 6.34902 28.4857 6.34902 28.4857C8.4201 28.6215 9.50656 30.5907 9.50656 30.5907C11.34 33.7143 14.2938 32.8316 15.4821 32.2883C15.6519 30.9642 16.1951 30.0475 16.7723 29.5382C12.2227 29.0629 7.43549 27.2974 7.43549 19.4205C7.43549 17.1797 8.25034 15.3463 9.54051 13.9203C9.3368 13.411 8.62381 11.306 9.74422 8.488C9.74422 8.488 11.4758 7.94477 15.3803 10.593C17.01 10.1516 18.7755 9.91398 20.507 9.91398C22.2386 9.91398 24.0041 10.1516 25.6338 10.593C29.5382 7.94477 31.2698 8.488 31.2698 8.488C32.3902 11.306 31.6772 13.411 31.4735 13.9203C32.7976 15.3463 33.5785 17.1797 33.5785 19.4205C33.5785 27.2974 28.7913 29.029 24.2078 29.5382C24.9547 30.1833 25.5998 31.4056 25.5998 33.3409C25.5998 36.091 25.5659 38.2979 25.5659 38.9769C25.5659 39.5201 25.9393 40.1652 26.9579 39.9615C35.1064 37.2453 40.9801 29.5722 40.9801 20.507C41.014 9.16704 31.813 0 20.507 0Z" /> </symbol> <symbol id="wordpress-icon" viewbox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"> <path d="M20.0028 1.92402e-07C16.047 -0.000548378 12.18 1.17196 8.89062 3.36926C5.60127 5.56655 3.03739 8.68993 1.52321 12.3444C0.00903735 15.9989 -0.387426 20.0203 0.383965 23.9001C1.15536 27.7799 3.05995 31.3438 5.85689 34.1411C8.65383 36.9385 12.2175 38.8436 16.0972 39.6155C19.9769 40.3874 23.9983 39.9915 27.653 38.4778C31.3077 36.9642 34.4314 34.4007 36.6292 31.1117C38.8269 27.8226 40 23.9557 40 20C39.9941 14.6979 37.8855 9.6147 34.1366 5.86533C30.3878 2.11595 25.3048 0.00660706 20.0028 1.92402e-07ZM2.02192 20C2.01921 17.4778 2.54945 14.9836 3.57788 12.6806L12.1564 36.1808C9.11831 34.7074 6.55646 32.4083 4.76415 29.5466C2.97183 26.685 2.0215 23.3766 2.02192 20ZM20.0028 37.9809C18.2827 37.9814 16.5716 37.7348 14.9217 37.2486L20.319 21.5726L25.8438 36.7133C25.8797 36.7989 25.9223 36.8815 25.9714 36.9602C24.0541 37.6362 22.0358 37.9813 20.0028 37.9809ZM22.4685 11.5684C23.5501 11.5102 24.5264 11.3965 24.5264 11.3965C24.7171 11.3741 24.8918 11.2789 25.0138 11.1307C25.1358 10.9824 25.1958 10.7927 25.1811 10.6013C25.1664 10.4099 25.0782 10.2316 24.9349 10.1037C24.7917 9.97585 24.6046 9.90837 24.4127 9.9154C24.4127 9.9154 21.5005 10.1456 19.62 10.1456C17.8533 10.1456 14.8828 9.9154 14.8828 9.9154C13.9149 9.85993 13.8011 11.341 14.7691 11.3965C14.7691 11.3965 15.6871 11.5102 16.6551 11.5684L19.4564 19.2428L15.5346 31.0442L8.98905 11.5684C10.0707 11.5102 11.0442 11.3965 11.0442 11.3965C11.2349 11.3741 11.4096 11.2789 11.5316 11.1307C11.6536 10.9824 11.7136 10.7927 11.6989 10.6013C11.6842 10.4099 11.596 10.2316 11.4528 10.1037C11.3095 9.97585 11.1224 9.90837 10.9305 9.9154C10.9305 9.9154 8.01831 10.1456 6.13785 10.1456C5.80225 10.1456 5.40286 10.1456 4.98129 10.1234C6.41082 7.94789 8.29581 6.10882 10.5059 4.73337C12.716 3.35791 15.1985 2.47891 17.7817 2.15713C20.3649 1.83535 22.9872 2.07847 25.4672 2.8697C27.9472 3.66092 30.2258 4.98136 32.1453 6.7397C32.0704 6.7397 31.9928 6.72306 31.9124 6.72306C30.1484 6.72306 28.8947 8.26237 28.8947 9.9154C28.8947 11.3965 29.749 12.6501 30.6615 14.134C31.3438 15.3294 32.1426 16.8687 32.1426 19.0903C32.1426 20.6324 31.6868 22.5738 30.7752 24.9147L28.9807 30.9083L22.4685 11.5684ZM29.0306 35.5401L34.5333 19.6533C35.5596 17.0878 35.9007 15.0381 35.9007 13.2131C35.9017 12.5944 35.8609 11.9764 35.7787 11.3632C38.0253 15.4755 38.5784 20.3022 37.3201 24.8161C36.0619 29.33 33.0917 33.1747 29.0417 35.5318L29.0306 35.5401Z" /> </symbol> <symbol id="icon-close" width="24" height="24" viewbox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 8.685L2.794.48A1.637 1.637 0 0 0 .479 2.794L8.685 11 .48 19.206a1.637 1.637 0 1 0 2.315 2.315L11 13.314l8.206 8.207a1.636 1.636 0 1 0 2.315-2.315L13.314 11l8.207-8.206A1.637 1.637 0 1 0 19.206.479L11 8.685z" /></symbol> </defs> </svg> <div id="page" class="hfeed site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <amp-state id="headerState" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"navigationMenu":{"expanded":false},"searchBar":{"expanded":false}}</script> </amp-state> <header id="masthead" class="site-header" role="banner" data-amp-bind-class="'site-header ' + ( headerState.navigationMenu.expanded ? 'toggled-on' : '' )" i-amphtml-binding> <div class="row align-middle"> <div class="site-branding small-9 large-3 columns"> <p class="site-title"> <a href="https://amp-wp.org/" class="site-title__link" rel="home"> <svg xmlns="http://www.w3.org/2000/svg" width="220" height="40"><use xlink:href="#header-logo"></use></svg> <span class="screen-reader-text"> AMP for WordPress </span> </a> </p> </div> <button class="menu-toggle" aria-label="Open menu" aria-controls="mastheader" aria-expanded="false" on="tap:AMP.setState( { headerState: { navigationMenu: { expanded: ! headerState.navigationMenu.expanded } } } )" data-amp-bind-aria-expanded="headerState.navigationMenu.expanded ? 'true' : 'false'" type="button" i-amphtml-binding> <svg xmlns="http://www.w3.org/2000/svg" width="35" height="34"><use xlink:href="#hamburger-menu"></use></svg> <span class="screen-reader-text">Menu</span> </button> <nav id="site-navigation" class="amp-wp-org-main-navigation small-12 large-7 columns" role="navigation" aria-label="Primary Menu"> <div class="menu-primary-menu-container"><ul id="primary-menu" class="primary-menu menu"><li id="menu-item-1834" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1834"><a href="/showcases">Showcase</a></li> <li id="menu-item-1836" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1836"><a href="/ecosystem">Ecosystem</a></li> <li id="menu-item-1875" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1875"><a href="/documentation/success-with-wordpress/">Documentation</a></li> <li id="menu-item-7268" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7268"><a href="/blog/">Blog</a></li> <li id="menu-item-7269" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7269"><a href="/support">Support</a></li> <li id="menu-item-7302" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7302"><a href="/about">About</a></li> </ul></div> </nav> <div class="search-container is-style-button-primary small-12 large-2 columns"> <a class="download-button" href="https://wordpress.org/plugins/amp/" target="_blank">Download</a> <button class="search-button" on="tap:AMP.setState( { headerState: { searchBar: { expanded: ! headerState.searchBar.expanded } } } )" type="button"> <span class="screen-reader-text"> Expand search form </span> <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16"><use xlink:href="#search-icon"></use></svg> </button> </div> </div> <div class="site-header-search"> <form action="https://amp-wp.org/" method="get" id="searchbar" class="search-bar" data-amp-bind-class="'search-bar ' + ( headerState.searchBar.expanded ? 'is-expanded' : '' )" target="_top" i-amphtml-binding> <div class="search-bar__wrap row"> <div class="search-bar__inner column large-11"> <input class="search-bar__input" name="s" type="text" required placeholder="Search" value=""> <button class="search-bar__button search-bar__button--search" type="submit"> <span class="button"> Search </span> </button> </div> <button class="search-bar__button search-bar__button--close" on="tap:AMP.setState( { headerState: { searchBar: { expanded: false } } } )" type="button"> <span class="screen-reader-text"> Expand search form </span> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><use xlink:href="#icon-close"></use></svg> </button> </div> </form> </div> </header> <div id="content" class="site-content"> <div class="row"> <nav class="section-nav columns large-3"> <ul class="section-nav__menu"> <li class="menu-item menu-item-8429"><a href="https://amp-wp.org/documentation/success-with-wordpress/">Success with WordPress</a></li> <li class="menu-item menu-item-2226 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/why-the-amp-plugin/">Why the AMP Plugin</a><amp-state id="section0" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section0: { expanded: ! section0.expanded } } )" data-amp-bind-aria-expanded="section0.expanded ? 'true' : 'false'" data-amp-bind-class=" section0.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section0.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-7798"><a href="https://amp-wp.org/documentation/why-the-amp-plugin/core-web-vitals/">Page Experience</a></li> <li class="menu-item menu-item-4266"><a href="https://amp-wp.org/documentation/why-the-amp-plugin/how-amp-achieves-its-speed/">AMP and Page Experience</a></li> <li class="menu-item menu-item-2230"><a href="https://amp-wp.org/documentation/why-the-amp-plugin/amp-benefits/">AMP and ROI</a></li> <li class="menu-item menu-item-2234"><a href="https://amp-wp.org/documentation/why-the-amp-plugin/means-to-an-end/">Means to an End</a></li> </ul> </li> <li class="menu-item menu-item-2583 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/getting-started/">Getting Started</a><amp-state id="section1" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section1: { expanded: ! section1.expanded } } )" data-amp-bind-aria-expanded="section1.expanded ? 'true' : 'false'" data-amp-bind-class=" section1.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section1.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-9201"><a href="https://amp-wp.org/documentation/getting-started/template-modes/">Template Modes</a></li> <li class="menu-item menu-item-1850"><a href="https://amp-wp.org/documentation/getting-started/standard/">Standard Mode</a></li> <li class="menu-item menu-item-1856"><a href="https://amp-wp.org/documentation/getting-started/transitional/">Transitional Mode</a></li> <li class="menu-item menu-item-1853"><a href="https://amp-wp.org/documentation/getting-started/reader/">Reader Mode</a></li> <li class="menu-item menu-item-10477"><a href="https://amp-wp.org/documentation/getting-started/support/">Support</a></li> <li class="menu-item menu-item-7698"><a href="https://amp-wp.org/documentation/getting-started/reader-mode-themes/">Reader Mode Themes</a></li> <li class="menu-item menu-item-7741"><a href="https://amp-wp.org/documentation/getting-started/mobile-redirection/">Mobile Redirection</a></li> <li class="menu-item menu-item-7781"><a href="https://amp-wp.org/documentation/getting-started/amp-optimizer/">AMP Optimizer</a></li> <li class="menu-item menu-item-7641"><a href="https://amp-wp.org/documentation/getting-started/plugin-suppression/">Plugin Suppression</a></li> <li class="menu-item menu-item-7644"><a href="https://amp-wp.org/documentation/getting-started/analytics/">Analytics</a></li> <li class="menu-item menu-item-10004"><a href="https://amp-wp.org/documentation/getting-started/paired-url-structures/">Paired URL Structures</a></li> <li class="menu-item menu-item-7736 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/getting-started/developer-tools/">Developer Tools</a><amp-state id="section2" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section2: { expanded: ! section2.expanded } } )" data-amp-bind-aria-expanded="section2.expanded ? 'true' : 'false'" data-amp-bind-class=" section2.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section2.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-7522"><a href="https://amp-wp.org/documentation/getting-started/developer-tools/adjustable-dev-tools/">Toggling Dev Tools</a></li> </ul> </li> <li class="menu-item menu-item-7460 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/getting-started/settings-screen/">Settings Screen</a><amp-state id="section3" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section3: { expanded: ! section3.expanded } } )" data-amp-bind-aria-expanded="section3.expanded ? 'true' : 'false'" data-amp-bind-class=" section3.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section3.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-10421"><a href="https://amp-wp.org/documentation/getting-started/settings-screen/site-scan/">Site Scan</a></li> <li class="menu-item menu-item-10428"><a href="https://amp-wp.org/documentation/getting-started/settings-screen/other-section/">Other Section</a></li> <li class="menu-item menu-item-10465"><a href="https://amp-wp.org/documentation/getting-started/settings-screen/sandboxing-experimental/">Sandboxing (Experimental)</a></li> </ul> </li> <li class="menu-item menu-item-4360"><a href="https://amp-wp.org/documentation/getting-started/wp-cli-commands/">WP-CLI Commands</a></li> <li class="menu-item menu-item-9601 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/getting-started/amp-site-setup/">Caching</a><amp-state id="section4" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section4: { expanded: ! section4.expanded } } )" data-amp-bind-aria-expanded="section4.expanded ? 'true' : 'false'" data-amp-bind-class=" section4.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section4.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-9597"><a href="https://amp-wp.org/documentation/getting-started/amp-site-setup/persistent-object-caching/">Persistent Object Caching</a></li> <li class="menu-item menu-item-9852"><a href="https://amp-wp.org/documentation/getting-started/amp-site-setup/page-caching-with-amp-and-wordpress/">Page Caching with AMP and WordPress</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-2153 menu-item-has-children"><span class="link-wrap"><a href="https://amp-wp.org/documentation/how-the-plugin-works/">How the AMP Plugin Works</a><amp-state id="section5" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":false}</script> </amp-state> <button class="dropdown-toggle" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section5: { expanded: ! section5.expanded } } )" data-amp-bind-aria-expanded="section5.expanded ? 'true' : 'false'" data-amp-bind-class=" section5.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu " data-amp-bind-class="section5.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-4097"><a href="https://amp-wp.org/documentation/how-the-plugin-works/amp-validation/">AMP Validator</a></li> <li class="menu-item menu-item-8619"><a href="https://amp-wp.org/documentation/how-the-plugin-works/amp-and-css/">AMP &amp; CSS</a></li> </ul> </li> <li class="menu-item menu-item-2300 menu-item-has-children current-menu-parent current-menu-parent"><span class="link-wrap"><a href="https://amp-wp.org/documentation/playbooks/">Playbooks</a><amp-state id="section6" aria-hidden="true" class="i-amphtml-layout-container" i-amphtml-layout="container"> <script type="application/json">{"expanded":true}</script> </amp-state> <button class="dropdown-toggle toggled-on" aria-label="Expand section" aria-expanded="false" type="button" on="tap:AMP.setState( { section6: { expanded: ! section6.expanded } } )" data-amp-bind-aria-expanded="section6.expanded ? 'true' : 'false'" data-amp-bind-class=" section6.expanded ? 'dropdown-toggle toggled-on' : 'dropdown-toggle' " i-amphtml-binding> <span class="screen-reader-text">Toggle sub-menu</span> </button></span><ul class="sub-menu toggled-on" data-amp-bind-class="section6.expanded ? 'sub-menu toggled-on' : 'sub-menu'" i-amphtml-binding><li class="menu-item menu-item-9399"><a href="https://amp-wp.org/documentation/playbooks/adding-reader-themes/">Adding Reader Themes</a></li> <li class="menu-item menu-item-5463 current-menu-item"><a href="https://amp-wp.org/documentation/playbooks/handling-form-submissions/">Handling Form Submissions</a></li> <li class="menu-item menu-item-9903"><a href="https://amp-wp.org/documentation/playbooks/amp-plugin-troubleshooting-guide/">AMP Plugin Troubleshooting Guide</a></li> <li class="menu-item menu-item-4815"><a href="https://amp-wp.org/documentation/playbooks/enqueuing-scripts-and-using-amp-bind/">Enqueuing Scripts And Using amp-bind</a></li> <li class="menu-item menu-item-2312"><a href="https://amp-wp.org/documentation/playbooks/keyboard-accessible-navigation-menus/">Keyboard Accessible Navigation Menus</a></li> <li class="menu-item menu-item-2322"><a href="https://amp-wp.org/documentation/playbooks/toggling-hamburger-menus/">Mobile Nav Menus</a></li> <li class="menu-item menu-item-2319"><a href="https://amp-wp.org/documentation/playbooks/navigation-sub-menu-buttons/">Navigation Sub-menu Buttons</a></li> <li class="menu-item menu-item-4821"><a href="https://amp-wp.org/documentation/playbooks/implementing-interactivity/">Implementing Interactivity</a></li> <li class="menu-item menu-item-9266"><a href="https://amp-wp.org/documentation/playbooks/custom-embed-handler/">Custom Embed Handlers</a></li> <li class="menu-item menu-item-2245"><a href="https://amp-wp.org/documentation/playbooks/classic-templates/">Handling AMP Legacy Themes</a></li> <li class="menu-item menu-item-9270"><a href="https://amp-wp.org/documentation/playbooks/extracting-image-dimensions/">Extracting Image Dimensions</a></li> <li class="menu-item menu-item-8911"><a href="https://amp-wp.org/documentation/playbooks/sanitizers/">Custom Sanitizers</a></li> </ul> </li> <li class="menu-item menu-item-10092"><a href="https://amp-wp.org/documentation/extending-amp-compatibility-extensions-and-mini-plugins/">Extensions &amp; Mini-Plugins</a></li> <li class="menu-item menu-item-8240"><a href="https://amp-wp.org/documentation/reference-docs/">Reference</a></li> <li class="menu-item menu-item-5224"><a href="https://amp-wp.org/documentation/frequently-asked-questions/">FAQ</a></li> </ul> </nav> <div class="large-9 medium-12 small-12 columns"> <div id="primary"> <main id="main" class="site-main" role="main"> <div class="row documentation-content"> <div class="columns large-9 medium-12 small-12"> <article id="post-5463" class="post-5463 documentation type-documentation status-publish hentry user_type-developer"> <header class="entry-header"> <h1>Handling Form Submissions</h1> </header> <div class="toc-wrapper columns large-3 medium-12 small-12"> <div class="table-of-contents"><h5>Table of contents</h5><ul class="table-of-contents__items"><li><a id="dealing-with-modsecurity-failures-toc" href="#dealing-with-modsecurity-failures">Dealing with ModSecurity Failures</a></li></ul> </div> </div> <div class="entry-content clearfix"> <p>The AMP plugin does all that it can to ensure that your existing forms work as expected in AMP. For one thing, forms with a <code>GET</code> method need nothing special as they behave as the same in AMP as they do normally in HTML. When the <code>POST</code> method is used, then things work a bit differently. In regular HTML forms, a form with a <code>POST</code> method will cause a full page navigation to the URL defined in the <code>action</code>. AMP does things differently with its <code><a href="https://amp.dev/documentation/components/amp-form">amp-form</a></code><a href="https://amp.dev/documentation/components/amp-form"> component</a>. In AMP, when submitting a <code>POST</code> form the form data is submitted via Ajax (XHR/<code>fetch</code>) to the URL defined in an <code>action-xhr</code> attribute. If desiring to <a href="https://amp.dev/documentation/components/amp-form#redirecting-after-a-submission">redirect the user to a success page</a>, then a special <code>AMP-Redirect-To</code> response header must be sent. Otherwise, the response of the <code>POST</code> request must be a JSON object containing data that should be <a href="https://amp.dev/documentation/components/amp-form#to-render-responses-with-templating:">rendered in the </a><code><a href="https://amp.dev/documentation/components/amp-form#to-render-responses-with-templating:">submit-success</a></code><a href="https://amp.dev/documentation/components/amp-form#to-render-responses-with-templating:"> or </a><code><a href="https://amp.dev/documentation/components/amp-form#to-render-responses-with-templating:">submit-error</a></code><a href="https://amp.dev/documentation/components/amp-form#to-render-responses-with-templating:"> templates</a>.</p> <p>If a form rendered by WordPress uses an <code>action</code> attribute, then the AMP plugin will try to upgrade it to an <code>amp-form</code>. When redirecting to a success page via <code>wp_redirect()</code>, the AMP plugin will automatically send the <code>AMP-Redirect-To</code> response header with a <code>200</code> status code instead of sending the <code>Location</code> response header with a <code>302</code> status code. </p> <p>On the other hand, if the success/failure message is intended to be displayed in the response to the <code>POST</code> request without doing any redirect, then a bit more is involved for AMP-converted forms. First of all, converted forms will automatically get templates added for <code>submitting</code>, <code>submit-error</code>, and <code>submit-success</code>. If the form processor fails a submission with <code>wp_die()</code> (with a non-success error code), then the message provided will be rendered in the <code>submit-error</code> template. Likewise, if <code>wp_die()</code> is used with a <code>200</code> status code, then its message will be displayed in the <code>submit-success</code> template. However, if <code>wp_die()</code> is not being used to render the success/failure message then the AMP plugin provides some generic messages based on the status code:</p> <figure class="wp-block-image"><amp-img width="1024" height="178" src="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1024x178.png" alt="It appears your submission was successful. Even though the server responded OK, it is possible the submission was not processed. Please contact the developer of this form processor to improve this message. Learn more" class="wp-image-5487 amp-wp-enforced-sizes i-amphtml-layout-intrinsic i-amphtml-layout-size-defined" srcset="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1024x178.png 1024w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-600x104.png 600w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-768x133.png 768w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1536x267.png 1536w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-705x122.png 705w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px" layout="intrinsic" disable-inline-width="" data-hero i-amphtml-ssr i-amphtml-layout="intrinsic"><i-amphtml-sizer slot="i-amphtml-svc" class="i-amphtml-sizer"><img alt="" aria-hidden="true" class="i-amphtml-intrinsic-sizer" role="presentation" src="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE3OCIgd2lkdGg9IjEwMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIi8+"></i-amphtml-sizer><img class="i-amphtml-fill-content i-amphtml-replaced-content" decoding="async" fetchpriority="high" alt="It appears your submission was successful. Even though the server responded OK, it is possible the submission was not processed. Please contact the developer of this form processor to improve this message. Learn more" src="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1024x178.png" srcset="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1024x178.png 1024w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-600x104.png 600w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-768x133.png 768w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-1536x267.png 1536w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response-705x122.png 705w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-200-status-response.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px"></amp-img><figcaption>Generic success message response has an <em>apparent</em> OK response.</figcaption></figure> <figure class="wp-block-image"><amp-img width="1024" height="129" src="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1024x129.png" alt="Your submission failed. The server responded with Bad Request (code 400). Please contact the developer of this form processor to improve this message. Learn more" class="wp-image-5488 amp-wp-enforced-sizes i-amphtml-layout-intrinsic i-amphtml-layout-size-defined" srcset="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1024x129.png 1024w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-600x75.png 600w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-768x96.png 768w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1536x193.png 1536w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-705x89.png 705w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px" layout="intrinsic" disable-inline-width="" i-amphtml-layout="intrinsic"><i-amphtml-sizer slot="i-amphtml-svc" class="i-amphtml-sizer"><img alt="" aria-hidden="true" class="i-amphtml-intrinsic-sizer" role="presentation" src="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyOSIgd2lkdGg9IjEwMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIi8+"></i-amphtml-sizer><noscript><img decoding="async" width="1024" height="129" src="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1024x129.png" alt="Your submission failed. The server responded with Bad Request (code 400). Please contact the developer of this form processor to improve this message. Learn more" srcset="https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1024x129.png 1024w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-600x75.png 600w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-768x96.png 768w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-1536x193.png 1536w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response-705x89.png 705w, https://amp-wp.org/wp-content/uploads/2019/06/amp-form-no-redirect-400-status-response.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></amp-img><figcaption>Generic error message when response has an error code.</figcaption></figure> <p>In order to avoid showing these generic messages (and styling), your form submission handler should check to see if <code>amp-form</code> is submitting the request and then either use <code>wp_die()</code> or use <code>wp_send_json()</code>. Naturally you’ll need to do this before the template has been rendered, such as at the <code>template_redirect</code> action (or another action prior to template rendering). An easy way to detect for <code>amp-form</code> doing the submission is to use <code>wp_is_json_success()</code>. </p> <p>Given an existing form processing logic that happens at <code>template_redirect</code>, where the method sets a <code>$success</code> variable based on whether or not the submission was accepted, you can incorporate the following example code using <code>wp_send_json()</code>:</p> <pre class="wp-block-code" aria-describedby="shcb-language-1" data-shcb-language-name="PHP" data-shcb-language-slug="php"><span><code class="hljs language-php shcb-code-table"><span class="shcb-loc"><span><span class="hljs-keyword">if</span> ( wp_is_json_request() ) { </span></span><span class="shcb-loc"><span> <span class="hljs-keyword">if</span> ( $success ) { </span></span><span class="shcb-loc"><span> $message = __( <span class="hljs-string">'Success! Thanks for your submission.'</span>, <span class="hljs-string">'my-textdomain'</span> ); </span></span><span class="shcb-loc"><span> } <span class="hljs-keyword">else</span> { </span></span><span class="shcb-loc"><span> $message = __( <span class="hljs-string">'Sorry, your submission is incomplete.'</span>, <span class="hljs-string">'my-textdomain'</span> ); </span></span><span class="shcb-loc"><span> } </span></span><mark class="shcb-loc"><span> wp_send_json( compact( <span class="hljs-string">'message'</span> ), $success ? <span class="hljs-number">200</span> : <span class="hljs-number">400</span> ); </span></mark><span class="shcb-loc"><span>} </span></span></code></span><small class="shcb-language" id="shcb-language-1"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre> <p>Or using <code>wp_die()</code>:</p> <pre class="wp-block-code" aria-describedby="shcb-language-2" data-shcb-language-name="PHP" data-shcb-language-slug="php"><span><code class="hljs language-php shcb-code-table"><span class="shcb-loc"><span><span class="hljs-keyword">if</span> ( wp_is_json_request() ) { </span></span><span class="shcb-loc"><span> <span class="hljs-keyword">if</span> ( $success ) { </span></span><span class="shcb-loc"><span> $message = __( <span class="hljs-string">'Success! Thanks for your submission.'</span>, <span class="hljs-string">'my-textdomain'</span> ); </span></span><span class="shcb-loc"><span> } <span class="hljs-keyword">else</span> { </span></span><span class="shcb-loc"><span> $message = __( <span class="hljs-string">'Sorry, your submission is incomplete.'</span>, <span class="hljs-string">'my-textdomain'</span> ); </span></span><span class="shcb-loc"><span> } </span></span><mark class="shcb-loc"><span> wp_die( </span></mark><mark class="shcb-loc"><span> $message, </span></mark><mark class="shcb-loc"><span> <span class="hljs-string">''</span>, </span></mark><mark class="shcb-loc"><span> [ <span class="hljs-string">'response'</span> =&gt; $success ? <span class="hljs-number">200</span> : <span class="hljs-number">400</span> ] </span></mark><mark class="shcb-loc"><span> ); </span></mark><span class="shcb-loc"><span>} </span></span></code></span><small class="shcb-language" id="shcb-language-2"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre> <p>A custom <code>wp_die</code> handler is registered when processing an <code>amp-form</code> submission to automatically invoke <code>wp_send_json()</code>.</p> <p>If you are developing an AMP-compatible form from the start, it is recommended to supply the <code>action-xhr</code> attribute on the form instead of the <code>action</code> attribute to prevent the auto-conversion and so that you have full control over the behavior, including the form submission templates. In this case, you should consider using a REST API endpoint for the <code>action-xhr</code> URL.</p> <p>For more information, please read the <code><a href="https://amp.dev/documentation/components/amp-form">amp-form</a></code><a href="https://amp.dev/documentation/components/amp-form"> component</a> documentation, as well as the <a href="https://amp.dev/documentation/examples/components/amp-form/">examples</a>.</p> <amp-animation id="dealing-with-modsecurity-failures-anim" layout="nodisplay" class="i-amphtml-layout-nodisplay" hidden="hidden" i-amphtml-layout="nodisplay"> <script type="application/json">{"duration":"1","fill":"both","direction":"normal","animations":[{"selector":"#dealing-with-modsecurity-failures-toc","keyframes":[{"opacity":"0.6","offset":0},{"opacity":"1","offset":0.1},{"opacity":"0.6","offset":1}]}]}</script> </amp-animation> <amp-position-observer target="dealing-with-modsecurity-failures" on="scroll:dealing-with-modsecurity-failures-anim.seekTo(percent=event.percent)" intersection-ratios="1" layout="nodisplay" class="i-amphtml-layout-nodisplay" hidden="hidden" i-amphtml-layout="nodisplay"></amp-position-observer> <h2 class="toc-heading" id="dealing-with-modsecurity-failures">Dealing with ModSecurity Failures <a href="#dealing-with-modsecurity-failures" class="anchor">#</a></h2> <p>Sometimes when submitting a comment or some other submission form you may get a slightly different error message in which the code is missing:</p> <figure class="wp-block-image size-large"><amp-img width="1024" height="55" src="https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1024x55.png" alt="Your submission failed. The server responded with (code ). Please contact the developer of this form processor to improve this message. Learn More" class="wp-image-8931 amp-wp-enforced-sizes i-amphtml-layout-intrinsic i-amphtml-layout-size-defined" srcset="https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1024x55.png 1024w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-600x32.png 600w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-768x41.png 768w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1536x83.png 1536w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-705x38.png 705w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown.png 1860w" sizes="(max-width: 1024px) 100vw, 1024px" layout="intrinsic" disable-inline-width="" i-amphtml-layout="intrinsic"><i-amphtml-sizer slot="i-amphtml-svc" class="i-amphtml-sizer"><img alt="" aria-hidden="true" class="i-amphtml-intrinsic-sizer" role="presentation" src="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU1IiB3aWR0aD0iMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="></i-amphtml-sizer><noscript><img decoding="async" width="1024" height="55" src="https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1024x55.png" alt="Your submission failed. The server responded with (code ). Please contact the developer of this form processor to improve this message. Learn More" srcset="https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1024x55.png 1024w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-600x32.png 600w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-768x41.png 768w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-1536x83.png 1536w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown-705x38.png 705w, https://amp-wp.org/wp-content/uploads/2020/09/comment-failure-without-status-code-shown.png 1860w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></amp-img></figure> <p>If you look at the network console in your browser’s Developer Tools, you may see that the HTTP response for this submission has the status <code>406 Not Acceptable</code>. Additionally, the response body may include the message:</p> <blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.</p></blockquote> <p>In this scenario, the only recourse is to contact your host support to add the <code>__amp_source_origin</code> query parameter to the allowlist. See also the <a href="https://wordpress.org/support/topic/your-submission-failed-the-server-responded-with-code/">support forum topic</a> in which this was first reported.</p> </div> </article> </div> </div> <div class="page-navigation"> <div class="is-style-left-arrow-button"> <a href="https://amp-wp.org/documentation/playbooks/adding-reader-themes/">Adding Reader Themes</a> </div> <div class="is-style-right-arrow-button"> <a href="https://amp-wp.org/documentation/playbooks/amp-plugin-troubleshooting-guide/">AMP Plugin Troubleshooting Guide</a> </div> </div> </main> </div> </div> </div> </div> <footer id="colophon" class="site-footer" role="contentinfo"> <div class="row"> <div class="site-footer__footer-top column large-12 medium-12 small-12"> <div id="text-3" class="widget widget-footer cell widget_text"> <div class="textwidget"><p>Of course, this site is using this official AMP for WordPress plugin in Standard mode.</p> </div> </div><div id="nav_menu-2" class="widget widget-footer cell widget_nav_menu"><div class="menu-social-container"><ul id="social-menu" class="social-menu menu"><li id="menu-item-1765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1765"><a target="_blank" href="https://wordpress.org/plugins/amp/"><svg xmlns="http://www.w3.org/2000/svg"><use xlink:href="#wordpress-icon"></use></svg></a></li> <li id="menu-item-7263" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7263"><a target="_blank" href="https://twitter.com/amphtml"><svg xmlns="http://www.w3.org/2000/svg"><use xlink:href="#twitter-icon"></use></svg></a></li> <li id="menu-item-7266" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7266"><a target="_blank" href="https://github.com/ampproject/amp-wp"><svg xmlns="http://www.w3.org/2000/svg"><use xlink:href="#github-icon"></use></svg></a></li> </ul></div></div><div id="nav_menu-9" class="widget widget-footer cell widget_nav_menu"><div class="menu-primary-menu-container"><ul id="menu-primary-menu" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1834"><a href="/showcases">Showcase</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1836"><a href="/ecosystem">Ecosystem</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1875"><a href="/documentation/success-with-wordpress/">Documentation</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7268"><a href="/blog/">Blog</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7269"><a href="/support">Support</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7302"><a href="/about">About</a></li> </ul></div></div> </div> <div class="site-footer__footer-middle column large-12 medium-12 small-12"> <div id="nav_menu-3" class="widget widget-footer cell widget_nav_menu"><div class="menu-primary-menu-container"><ul id="menu-primary-menu-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1834"><a href="/showcases">Showcase</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1836"><a href="/ecosystem">Ecosystem</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1875"><a href="/documentation/success-with-wordpress/">Documentation</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7268"><a href="/blog/">Blog</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7269"><a href="/support">Support</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7302"><a href="/about">About</a></li> </ul></div></div> </div> <div class="site-footer__footer-credits column large-12 medium-12 small-12"> <div id="text-4" class="widget widget-footer cell widget_text"> <div class="textwidget"><p>© <a href="https://openjsf.org/">OpenJS Foundation</a> and AMP Project contributors. All rights reserved. The <a href="https://openjsf.org/">OpenJS Foundation</a> has registered trademarks and uses trademarks. For a list of trademarks of the <a href="https://openjsf.org/">OpenJS Foundation</a>, please see our <a href="https://trademark-policy.openjsf.org/">Trademark Policy</a> and <a href="https://trademark-list.openjsf.org/">Trademark List</a>. Trademarks and logos not indicated on the <a href="https://trademark-list.openjsf.org/">list of OpenJS Foundation trademarks</a> are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.</p> </div> </div><div id="text-5" class="widget widget-footer cell widget_text"> <div class="textwidget"><p>The services available at <a href="https://cdn.ampproject.org/">cdn.ampproject.org</a> are provided by Google and the respective <a href="https://policies.google.com/privacy?hl=en">privacy policy</a> applies.</p> </div> </div> </div> <div class="site-footer__footer-menu column large-12 medium-12 small-12"> <ul id="policy-menu" class="policy-menu menu"><li id="menu-item-2205" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2205"><a target="_blank" href="https://policies.google.com/privacy?hl=en">Privacy Policy</a></li> <li id="menu-item-2206" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2206"><a target="_blank" href="https://policies.google.com/terms?hl=en">Terms of service</a></li> </ul> <button id="scrollToTopButton" on="tap:page.scrollTo(duration=1000)" class="scrollToTop"> <span> Scroll to Top </span> </button> </div> </div> </footer> </div> <amp-install-serviceworker src="https://amp-wp.org/wp.serviceworker" data-iframe-src="https://amp-wp.org/?amp_install_service_worker_iframe=1" layout="nodisplay" class="i-amphtml-layout-nodisplay" hidden="hidden" i-amphtml-layout="nodisplay"> </amp-install-serviceworker> <amp-analytics id="1a7c7aecdd5f" type="googleanalytics" class="i-amphtml-layout-fixed i-amphtml-layout-size-defined" style="width:1px;height:1px" i-amphtml-layout="fixed"><script type="application/json">{"vars":{"account":"UA-130569087-1"},"triggers":{"trackPageview":{"on":"visible","request":"pageview"}},"linkers":{"enabled":true}}</script></amp-analytics><amp-pixel src="https://pixel.wp.com/g.gif?v=ext&amp;blog=155733426&amp;post=5463&amp;tz=0&amp;srv=amp-wp.org&amp;host=amp-wp.org&amp;rand=RANDOM&amp;ref=DOCUMENT_REFERRER" class="i-amphtml-layout-fixed i-amphtml-layout-size-defined" style="width:1px;height:1px" i-amphtml-layout="fixed"></amp-pixel> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10