使用 Wordpress 注册 Mailchimp 时事通讯

Posted

技术标签:

【中文标题】使用 Wordpress 注册 Mailchimp 时事通讯【英文标题】:Mailchimp newsletter signup with Wordpress 【发布时间】:2016-04-24 03:54:28 【问题描述】:

我一直在尝试设置 Mailchimp 时事通讯注册,以便在我的 wordpress 博客上使用。

我似乎找不到可以在我博客的侧边栏中安装注册框并实际将用户添加到我的 mailchimp 邮件列表的小部件。

我的要求是,我只是希望用户能够输入他们的姓名和电子邮件地址,点击订阅,得到一个感谢用户订阅的小弹出消息,然后宾果游戏,他们被添加到邮件列表中。

有什么可以解决问题的吗?

我已尝试创建注册并将 mailchimp 提供给我的 html 代码嵌入我博客的 sidebar.php 部分。我已经从嵌入代码中禁用了 javascript,因为这显然会导致问题。

现在,注册框会出现在页面上,但是当我填写字段并单击提交时,页面会简单地刷新并在地址栏中的 url 后面吐出一堆代码,例如...

http://ch-designs.co.uk/wordpress/?widget-jal_widget%5B2%5D%5Bfx_in%5D=slideDown&widget-jal_widget%5B2%5D%5Bex_sym%5D=%E2%96%BA&widget-jal_widget%5B2%5D%5Bcon_sym%5D=%E2%96%BC&widget-jal_widget%5B2%5D%5Bonly_sym_link%5D=1&ns_widget_mailchimp_first_name=&ns_widget_mailchimp_last_name=&ns_mc_number=3&ns_widget_mailchimp_email=&Subscribe=Subscribe

可以说它不会将任何人添加到我的邮件列表中。

任何帮助将不胜感激。谢谢。

编辑

我已经尝试了以下解决方案,但现在我被重定向到 404:Page not found mailchimp 页面。

这是我的代码...

 <div id="mc_embed_signup">
    <form action="//ch-designs.us12.list-manage.com/subscribe/post-json?u=a0496f5489571ea6dbdf57077&amp;id=a292e14b56&c=?" method="get" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
    <div id="mc_embed_signup_scroll">
    <h2>Subscribe to our mailing list</h2>
<div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
<div class="mc-field-group">
    <label for="mce-EMAIL">Email Address  <span class="asterisk">*</span>
</label>
    <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
</div>
<div class="mc-field-group">
    <label for="mce-FNAME">First Name </label>
    <input type="text" value="" name="FNAME" class="" id="mce-FNAME">
</div>
<div class="mc-field-group">
    <label for="mce-LNAME">Last Name </label>
    <input type="text" value="" name="LNAME" class="" id="mce-LNAME">
</div>
    <div id="mce-responses" class="clear">
        <div class="response" id="mce-error-response" style="display:none"></div>
        <div class="response" id="mce-success-response" style="display:none"></div>
    </div>    <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
    <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_a0496f5489571ea6dbdf57077_a292e14b56" tabindex="-1" value=""></div>
    <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
    </div>
</form>
</div>
    <script>

$(document).ready( function () 
    // I only have one form on the page but you can be more specific if need be.
    var $form = $('form');

    if ( $form.length > 0 ) 
        $('form input[type="submit"]').bind('click', function ( event ) 
            if ( event ) event.preventDefault();
            // validate_input() is a validation function I wrote, you'll have to substitute this with your own.
            if ( validate_input($form) )  register($form); 
        );
    
);

function register($form) 
    $.ajax(
        type: $form.attr('method'),
        url: $form.attr('action'),
        data: $form.serialize(),
        cache       : false,
        dataType    : 'json',
        contentType: "application/json; charset=utf-8",
        error       : function(err)  alert("Could not connect to the registration server. Please try again later."); ,
        success     : function(data) 
            if (data.result != "success") 
                // Something went wrong, do something to notify the user. maybe alert(data.msg);
             else 
                // It worked, carry on...
            
        
    );

</script>

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,但似乎没有很多关于此的信息。我只是试图让表单在没有刷新和页面直接的情况下工作。我在使用 ajax 的 Stack 上找到了一个很好的答案。这种形式对我有用,而且很容易实现。您使用标准代码进行一些小的更改。添加一些 ajax 就可以了。您还可以使用 css 相应地设置样式。问题和代码的链接在这里ajax mailchimp signup form integration

【讨论】:

谢谢,我刚刚尝试过,当我点击订阅时,它会将我重定向到 404:Page not found mailchimp 页面?我在 sidebar.php 文件中的表单下方添加了 JQuery 确保您对他列出的 mailchimp 代码链接进行了调整,以便它响应 ajax。如果它工作正常,它不应该让你离开你的页面 我已经做到了,我已经在我原来的问题中发布了我的代码,一切似乎都是正确的,但没有快乐? 看起来这可能会显示无法找到列表的错误。 &id=a292e14b56&c=?拆下放大器;应该只是 &id=a292e14b56&c=?试试看能不能解决问题。【参考方案2】:

将您的表单网址更改为

http://ch-designs.us12.list-manage.com/subscribe/post-json?u=a0496f5489571ea6dbdf57077&amp;id=a292e14b56&

希望这会有所帮助:)

【讨论】:

谢谢,我已经尝试了上面的两个建议,但是每次我点击“提交”它都会刷新页面并在地址栏中吐出一堆代码。此代码似乎是位于注册功能上方的插件的 jquery。ch-designs.co.uk/wordpress/…

以上是关于使用 Wordpress 注册 Mailchimp 时事通讯的主要内容,如果未能解决你的问题,请参考以下文章

用于 WordPress 重定向的 MailChimp

Mailchimp 多语言功能

Wordpress:在没有插件的情况下集成 Mailchimp 错误请求 400 Ajax URL

在 Wordpress 中将 Mailchimp 表单实现到我的页脚时,100% 宽度不起作用

在单击 Wordpress 按钮旁边打开 Mailchimp 订阅表单

RSS 提要未在我的 Wordpress 提要中的 Mailchimp 时事通讯中显示图像