如何使复选框默认选中?在 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 结帐中的主要内容,如果未能解决你的问题,请参考以下文章
加载时默认选中Angularjs复选框,并在选中时禁用选择列表