WooCommerce上的签出属性

时间:2012-12-31 作者:Krunal

我在其中一个网站上使用WooCommerce。我需要在结帐时再添加一个字段,询问买家是以他的名字还是以他的企业名称开具发票?

有什么建议吗?或者Woo Commerce中已经有类似的东西了?或者最简单的方法是什么?

3 个回复
最合适的回答,由SO网友:webaware 整理而成

碰巧的是,我昨天刚刚在博客上写了这件事,想知道如何add a subscribe to mailing list checkbox. 关键点是:

查看WooCommerce tutorial

class WooSubscribeCheckbox {

    // add hooks into WooCommerce
    public static function run() {
        add_filter(\'woocommerce_checkout_fields\',
            array(__CLASS__, \'filterWooCheckoutFields\'));

        add_action(\'woocommerce_checkout_update_order_meta\',
            array(__CLASS__, \'actionWooCheckoutUpdateOrderMeta\'));

        add_filter(\'woocommerce_email_order_meta_keys\',
            array(__CLASS__, \'filterWooEmailOrderMetaKeys\'));
    }

    /**
    * add custom fields to WooCommerce checkout
    * @param array fields
    * @return array
    */
    public static function filterWooCheckoutFields($fields) {
        global $woocommerce;

        // add field at end of billing fields section
        $fields[\'billing\'][\'our_mailing_subscribe\'] = array(
            \'type\' => \'checkbox\',
            \'label\' => \'Subscribe to mailing list?\',
            \'placeholder\' => \'Subscribe to mailing list\',
            \'required\' => false,
            \'class\' => array(),
            \'label_class\' => array(),
        );

        return $fields;
    }

    /**
    * save custom order fields
    * @param int $order_id
    */
    public static function actionWooCheckoutUpdateOrderMeta($order_id) {
        if (isset($_POST[\'our_mailing_subscribe\'])) {
            update_post_meta($order_id, \'Subscribe to mailing list\',
                stripslashes($_POST[\'our_mailing_subscribe\']));
        }
    }

    /**
    * add our custom fields to WooCommerce order emails
    * @param array $keys
    * @return array
    */
    public static function filterWooEmailOrderMetaKeys($keys) {
        $keys[] = \'Subscribe to mailing list\';

        return $keys;
    }

}

WooSubscribeCheckbox::run();

SO网友:brasofilo

该插件包含挂钩,并提供extensive documentation.

从该链接:Tutorial – Customising checkout fields using hooks and filters.

如何将签出字段加载到WooCommerce中

结账字段(账单和发货)来自countries类(class-wc-countries.php) 还有get_address_fields 功能-这是为了将语言环境设置应用于字段,允许WooCommerce根据用户位置启用/禁用字段。

在返回字段之前,WC将通过过滤器运行字段。这允许第三方插件和主题对其进行编辑(and your own custom code)

我的重点

SO网友:CKDT

如果您不想自己编写代码。这里有一个很好的插件:http://terrytsang.com/shop/shop/woocommerce-custom-checkout-options/

结束

相关推荐

如何理解ACTIVE_PLUGINS OPTION_VALUE从数据库中启用和禁用某些插件?

谁能解释一下如何解释和理解WordPress中的active\\u plugins option\\u value字符串吗。然后使用此字符串/数组禁用和激活特定插件?以下是一个示例:a:8:{i:0;s:21:\"adrotate/adrotate.php\";i:1;s:19:\"akismet/akismet.php\";i:2;s:33:\"better-related/better-related.php\";i:3;s:17:\"clicky/clicky.php\";i:4;s:49:\"cu