首页 > 解决方案 > 如何在 WooCommerce 中添加 cmb2 设置

问题描述

我在使用 cmb2 插件在 WordPress 中创建设置面板时遇到了一个小问题。

我想在 WooCommerce 帖子类型中创建一个名为课程标题的字段,其中每个课程标题可以有多个有标题。

并在下面的手风琴中显示产品信息。

课程标题和每个课程标题的标题应该是可重复的。

我能够做的是定义可重复的课程标题,但我无法向标题添加可重复的标题,而且我不知道如何显示两个 foreach 循环。

如果有人有使用 cmb2 的经验,请提供帮助。

谢谢

cmb2设置中的代码

    public function init_metabox() {
        if ( null !== $this->cmb ) {
            return $this->cmb;
        }
        
        $cmb_group_team = new_cmb2_box( array(
            'id'           => 'cmb_group_team',
            'title'        => __( 'course headings setting', 'myprefix' ),
            'context'      => 'normal',
            'priority'     => 'high',
            'object_types' => array('product'),
        ));
        
        $cmb_group_team_item= $cmb_group_team->add_field( array(
            'id'          => 'cmb_group_team_item',
            'type'        => 'group',
            'repeatable'  => true, 
            'options'     => array(
            'group_title'   => 'course headings',
            'closed'     => true,
            ),
        ) );
        
        $cmb_group_team->add_group_field( $cmb_group_team_item, array(
            'name' => 'course headings title',
            'id'   => 'heading_title',
            'type' => 'text',
        ) );
  

        $cmb_group_team->add_group_field( $cmb_group_team_item, array(
            'name' => 'course headings item',
            'id'   => 'heading_values',
            'type' => 'text',
            'repeatable'  => true,
        ) );



单品中的代码

            <div id="accordion" class=" mt-4">
         <?php $cmb_group_team_item = get_post_meta(get_the_ID(),'cmb_group_team_item',true);
             $d=1;   foreach($cmb_group_team_item as $team_item) {
               ?>
                    <div class="card borderradius mb-3">
                        <div class="d-flex flex-row card-header justify-content-between py-0 bg-white border border-gray borderradius ">
                        <img src="<?php echo get_template_directory_uri(); ?>/images/Home_03.jpg" class="img-fluid  col-2 col-sm-2 col-md-2 col-lg-1 rounded-circle px-0 py-2">
                            <a href="#education<?php echo $d;  ?>"class="d-flex col-8 col-sm-8 col-md-8 col-lg-10 card-link align-items-center" data-toggle="collapse"><?php echo $team_item['heading_title']?></a>
                            <a href="#education<?php echo $d;  ?>"class="d-flex col-2 col-sm-2 col-md-2 col-lg-1 card-link text-left align-items-center " data-toggle="collapse">
                                <span class="fa fa-chevron-left fa-lg"></span>
                            </a>
                        </div>
                        <div id="education<?php echo $d;  ?>" class="collapse" data-toggle="#accordion">
                            <div class="card-body">
                                <ul>
    
                        <?php    foreach($cmb_group_team_item as $key => $value) { ?>   
                                    <li><?php var_dump($value['heading_values']);  ?></li>
                                    <?php    } ?>
                                </ul>
                            </div>
                        </div>
                    </div>
              <?php  $d++;  } ?>

                    
                </div>

WooCommerce 单品页面 单张图片

标签: phpwordpresscmb2

解决方案


推荐阅读