如何使复选框默认选中?在 Woocommerce 结帐中

Posted

技术标签:

【中文标题】如何使复选框默认选中?在 Woocommerce 结帐中【英文标题】:How to make checkbox checked by default? In Woocommerce checkout 【发布时间】:2014-03-21 05:30:31 【问题描述】:

拥有一个带有 woocommerce 的 wordpress 网站

我安装了 Getresponse Woocommerce 集成插件,并且确实需要默认勾选结帐时的复选框(他们勾选“注册我们的时事通讯”框以加入我们的电子邮件列表)

一直在尝试一切,非常感谢有关如何做到这一点的帮助吗?

我怀疑我应该在 getresponse_integration.php 的第 394 行更改一些内容

<input class="input-checkbox" value="1" id="checkout_checkbox" type="checkbox" name="checkout_checkbox">

尝试过像这样插入“已检查”之类的内容:

<input class="input-checkbox" value="1" id="checkout_checkbox" type="checkbox" name="checkout_checkbox" checked>

这会使该框在结帐时显示为选中状态,但电子邮件不会传递到列表中,因此我没有收到任何欢迎电子邮件并且没有订阅。有趣的是,如果我手动取消勾选并重新勾选,那么它就可以工作了

是否尝试过其他方法,例如 class=selected 并且没有运气??

非常感谢您的帮助吗?

附:已尝试 getresponse 支持,但它们根本没有帮助

http://wordpress.org/plugins/getresponse-integration/

【问题讨论】:

【参考方案1】:

已经提供了执行此操作的钩子。您需要做的就是将其添加到您的主题 functions.php 文件中。优点是当 woocommerce 文件更新时您不会丢失更改。

add_filter( 'woocommerce_terms_is_checked_default', 'apply_default_check' );
function apply_default_check() 

    return 1;

【讨论】:

【参考方案2】:

您需要将以下代码添加到您的functions.php中

add_filter( 'woocommerce_create_account_default_checked', '__return_true' );

【讨论】:

比所选答案更简洁的实现!【参考方案3】:

您可以使用 jQuery 自动检查页面加载时的复选框,如下所示:

<script>
$(document).ready(function () 
    $('#checkout_checkbox').attr('checked', 'checked');
);
</script>

希望对您有所帮助!

【讨论】:

嗨,Danyo,谢谢,这听起来很有用,我将在哪里以及如何插入它,因为我尝试了各种不同的地方并出现错误?还假设我用 checkbox_checked 替换了 Your Checkbox ID,我要去掉#,代码中还有什么要更改的吗? 我已根据您的确切要求更新了代码。这样做的最佳位置是在您网站的页脚中,在包含 jQuery 之后的任何位置。 你应该接受我的回答,这样以后看到这个的人会得到正确的答案:)

以上是关于如何使复选框默认选中?在 Woocommerce 结帐中的主要内容,如果未能解决你的问题,请参考以下文章

如果在 Woocommerce 中未选中复选框,则隐藏元素

如何使 JTable 列包含复选框?

加载时默认选中Angularjs复选框,并在选中时禁用选择列表

怎么设置多选中el-tree的复选框

如何在 Woocommerce 中的产品图片上添加热门属性(如销售)

创建后在属性中启用存档 (Woocommerce)