{"componentChunkName":"component---src-templates-single-template-tsx","path":"/como-testar-erros-na-funcao-wp_mail-no-wordpress-usando-hooks","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://blog.nandomoreira.dev","author":{"name":"Fernando Moreira","site":"https://nandomoreira.dev","social":{"disqus":"fernandomoreira"}}}},"markdownRemark":{"html":"<p>Sabemos que da pra fazer bastante coisa no WordPress usando os famosos hooks e sabemos também que é impossível saber o retorno de um erro ao tentar enviar um email usando a função wp_mail(), pois ela só retorna valores booleanos (true ou false).</p>\n<p>Sabendo disso o <strong>WordPress</strong> já nos deu uma <a href=\"../../../assets/its-a-trap-bino.jpg\">saída dessa cilada bino!</a></p>\n<p><a href=\"https://developer.wordpress.org/reference/hooks/wp_mail_failed/\">Usando o hook <code class=\"language-text\">wp_mail_failed</code></a> podemos criar uma função para captar os erros gerados pela <code class=\"language-text\">wp_mail()</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-php line-numbers\"><code class=\"language-php\"><span class=\"token php language-php\"><span class=\"token delimiter important\">&lt;?php</span>\n<span class=\"token function\">add_action</span><span class=\"token punctuation\">(</span> <span class=\"token single-quoted-string string\">'wp_mail_failed'</span><span class=\"token punctuation\">,</span> <span class=\"token single-quoted-string string\">'onMailError'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">function</span> <span class=\"token function\">onMailError</span><span class=\"token punctuation\">(</span> <span class=\"token variable\">$wp_error</span> <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">echo</span> <span class=\"token single-quoted-string string\">'&lt;pre>'</span> <span class=\"token punctuation\">.</span> <span class=\"token function\">print_r</span><span class=\"token punctuation\">(</span><span class=\"token variable\">$wp_error</span> <span class=\"token punctuation\">,</span> <span class=\"token boolean constant\">true</span> <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">.</span> <span class=\"token single-quoted-string string\">'&lt;/pre>'</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<p>E usando o <a href=\"https://www.getpostman.com/\">Postman</a> eu simulei uma requisição para minha aplicação e BAZINGA!</p>\n<p><figure class=\"gatsby-resp-image-figure\" style=\"\">\n    <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 1000px;\"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 70.5207413945278%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAABWklEQVQ4y5WTSW7DMAxFddoeqbfoNXqArgpkkUU9wLMtW57TX345DJyiGRrgRSRtUfwUbfphQN/36DuLqqqEEq5t4CQ29g6DoO+M44h5nrGuKwaJ5VmCz6DCx1eHorZ+ryklWJYliqJAkiRI0xSZwJi1VmjQNBubv1HVDSZX4/Xd4eWtwyGsMDgL05YZ6rqWDRbTNIG/0+nkYSXr2b6KCd4W8L3KDvqr32+sbZHlOXKBMhikrGVZPLTvMZFpg77hH3tDSZSpUtu29WjfeNAjfEJucM75pmuFjCnPJLpKSIOV8FII7XuSH7XB6EtMrDc5nMeE697mqmpuVth13TYGMoPH4xFhGCIIAkRR5Inj+OJzVXiJVMQimOOqh3R4Ki+EkmnfugiN/9Xji2RCSaxSB5f+Pumj8bn0cH+a9ozouPwXw6rS86ems/cbVnyvDXuMjscz8JO79Uwr/AFJJj2nmk0jTwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n        <source\n          srcset=\"/static/cf74372f7556e3870b99f38a15e329dd/bc904/wp_mail-error-postman.webp 250w,\n/static/cf74372f7556e3870b99f38a15e329dd/4be29/wp_mail-error-postman.webp 500w,\n/static/cf74372f7556e3870b99f38a15e329dd/03f31/wp_mail-error-postman.webp 1000w,\n/static/cf74372f7556e3870b99f38a15e329dd/9579c/wp_mail-error-postman.webp 1500w,\n/static/cf74372f7556e3870b99f38a15e329dd/b1218/wp_mail-error-postman.webp 2000w,\n/static/cf74372f7556e3870b99f38a15e329dd/55cd9/wp_mail-error-postman.webp 2266w\"\n          sizes=\"(max-width: 1000px) 100vw, 1000px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/cf74372f7556e3870b99f38a15e329dd/43fa5/wp_mail-error-postman.png 250w,\n/static/cf74372f7556e3870b99f38a15e329dd/c6e3d/wp_mail-error-postman.png 500w,\n/static/cf74372f7556e3870b99f38a15e329dd/da8b6/wp_mail-error-postman.png 1000w,\n/static/cf74372f7556e3870b99f38a15e329dd/2e9ed/wp_mail-error-postman.png 1500w,\n/static/cf74372f7556e3870b99f38a15e329dd/9fabd/wp_mail-error-postman.png 2000w,\n/static/cf74372f7556e3870b99f38a15e329dd/5f1b4/wp_mail-error-postman.png 2266w\"\n          sizes=\"(max-width: 1000px) 100vw, 1000px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          src=\"/static/cf74372f7556e3870b99f38a15e329dd/da8b6/wp_mail-error-postman.png\"\n          alt=\"hook wp_mail_failed no postman app\"\n          title=\"hook wp_mail_failed no postman app\"\n          loading=\"lazy\"\n          style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        />\n      </picture>\n    </span>\n    <figcaption class=\"gatsby-resp-image-figcaption\">hook wp_mail_failed no postman app</figcaption>\n  </figure></p>\n<p>É isso ai pessoal, se curtiu comenta ai.</p>\n<p><code class=\"language-text\">exit();</code></p>","excerpt":"Sabemos que da pra fazer bastante coisa no WordPress usando os famosos hooks e sabemos também que é impossível saber o retorno de um erro ao tentar…","timeToRead":1,"frontmatter":{"category":["wordpress"],"date":"há 9 anos","datePublished":"2018-03-14T00:00:00.000Z","description":"A dica hoje será bem rápida, iremos testar erros na função wp_mail() no WordPress usando hooks.","path":"/como-testar-erros-na-funcao-wp_mail-no-wordpress-usando-hooks","tags":["wordpress","function","php"],"title":"Como testar erros na função wp_mail() no WordPress usando hooks","image":{"publicURL":"/static/wp_mail_faild-hook-function-b6828e646ba18e981ea7ac7e7f1055f8.png","name":"wp_mail_faild-hook-function"}},"fields":{"readingTime":{"words":121}}}},"pageContext":{}}}