【问题标题】:Woocommerce meta box option for shop_order admin ordershop_order 管理订单的 Woocommerce 元框选项
【发布时间】:2016-05-31 08:04:56
【问题描述】:

我想在 woocommerce 的手动管理订单页面中添加一个元框。

这个元框需要是一个复选框,如果选中它会触发一个动作 到目前为止,我已经读过它需要开始这样的事情

function add_meta_boxes()
 {
add_meta_box( 
    'Meta Box', // ID, should be a string.
    'woocommerce-action-trigger', // Meta Box Title.
    'my_meta_box', // Your call back function, this is where your form field will go.
    'shop_order', // The post type you want this to show up on, can be post, page, or custom post type.
    'side', // The placement of your meta box, can be normal or side.
    'default' // The priority in which this will be displayed.
);
}

然后我需要一个表单,如果管理员选择将触发操作

 function triggeraction_meta_box() {
$checkboxMeta = make_action_happen();
}

    <input type="checkbox" name="action" id="action" value="yes" <?php if ( isset ( $checkboxMeta['action'] ) ) checked( $checkboxMeta['action'][0], 'yes' ); ?> />make_action_happen<br />

正如您在这一点上所看到的,我希望该复选框仅针对此订单取消 woocommerce 中的某些内容,因此它仅在此会话的此页面中发生。

请任何人帮助我的编码非常非常基础。

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:
        function wporg_add_custom_box() {
        $screens = ['shop_order', 'wporg_cpt'];
        foreach ($screens as $screen) {
            add_meta_box(
                'wporg_box_id',           // Unique ID
                'Custom Meta Box Title',  // Box title
                'wporg_custom_box_html',  // Content callback, must be of type callable
                $screen                   // Post type
            );
        }
    }
    add_action('add_meta_boxes', 'wporg_add_custom_box');
    
    
    
    function wporg_custom_box_html($post)
    {
        $value = get_post_meta($post->ID, '_wporg_meta_key', true);
        ?>
        <label for="wporg_field">Description for this field</label>
        <select name="wporg_field" id="wporg_field" class="postbox">
            <option value="">Select something...</option>
            <option value="something" <?php selected($value, 'something'); ?>>Something</option>
            <option value="else" <?php selected($value, 'else'); ?>>Else</option>
        </select>
        <?php
    }
    
    function wporg_save_postdata($post_id) {
        if (array_key_exists('wporg_field', $_POST)) {
            update_post_meta(
                $post_id,
                '_wporg_meta_key',
                $_POST['wporg_field']
            );
        }
    }
    add_action('save_post', 'wporg_save_postdata');
    

    【讨论】:

    • 你应该解释你的代码,除了它刚刚从 WP-Documentary 复制并且不能解决 WooCommerce Meta-Boxes 的问题
    猜你喜欢
    • 2015-07-14
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    相关资源
    最近更新 更多