【问题标题】:ACF repeater field content into tabsACF 转发器字段内容到选项卡中
【发布时间】:2017-11-01 14:32:11
【问题描述】:

我正在尝试在 WP Admin 仪表板中呈现一个简洁易用的客户端后端字段提交,它可以将转发器字段数据分类为适当的选项卡式内容。这是设置。

现场设置

后端

前端

我试过的代码;

<div class="tab-pane fade" id="tab-1-3">

                                <ul class="nav nav-pills" role="tablist">
                                  <li role="presentation" class="active"><a href="#english" aria-controls="english" role="tab" data-toggle="tab">English</a></li>
                                  <li role="presentation"><a href="#spanish" aria-controls="spanish" role="tab" data-toggle="tab">Spanish</a></li>
                                </ul>

                                <div class="tab-content lang-tab-content">
                                    <div role="tabpanel" class="tab-pane active" id="english">
                                        <?php
                                        $count=0; 
                                        if( have_rows('article') ):
                                            while ( have_rows('article') ) : the_row();
                                        ?> 
                                            <?php if (the_sub_field('language') == 'English') { ?>
                                            <strong>Published Date:</strong> <?php the_sub_field('publised_date');?>
                                            <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
                                              <div class="panel panel-default">
                                                <div class="panel-heading" role="tab" id="heading<?php echo $count ?>">
                                                  <h4 class="panel-title">
                                                    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse<?php echo $count ?>" aria-expanded="false" aria-controls="collapse<?php echo $count ?>">
                                                      <?php the_sub_field('article_title');?>
                                                    </a>
                                                  </h4>
                                                </div>
                                                <div id="collapse<?php echo $count ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading<?php echo $count ?>">
                                                  <div class="panel-body">
                                                    <?php the_sub_field('article_body');?>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                            <?php } ?>
                                        <?php
                                        $count++;
                                            endwhile;
                                        else :
                                        endif;
                                        ?>
                                    </div>
                                    <div role="tabpanel" class="tab-pane" id="spanish">Spanish</div>
                                </div>

                            </div><!-- tab-pane -->

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    请显示循环代码。如果没有关于您的代码的任何信息,这很难回答。

    我会简单地遍历所有中继器行并设置一个类以根据首选语言隐藏元素。然后在单击按钮时使用 javascript 切换类。


    更新

     <?php
      $count=0; $english =''; $spanish ='';
      if( have_rows('article') ):
      while ( have_rows('article') ) : the_row();
      $count++;
    
        if (the_sub_field('language') == 'English'){
        $english .= '<strong>Published Date: '.get_sub_field('publised_date').'</strong>';
        $english .= '<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"><div class="panel panel-default">';
        /** PANEL HEADING **/
        $english .= '<div class="panel-heading" role="tab" id="heading'.$count.'">';
        $english .= '<h4 class="panel-title">';
        $english .= '<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse'.$count.'" aria-expanded="false" aria-controls="collapse'.$count.'">';
        $english .= get_sub_field('article_title');
        $english .= '</a></h4></div>';
        /** END PANEL HEADING **/
    
        /** COLLAPSE START **/
        $english .= '<div id="collapse'.$count.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading'.$count.'"><div class="panel-body">'.get_sub_field('article_body').'</div></div>';
        /** COLLAPS END **/
    
        $english .= '</div></div>';
    
        }
        else{
    
        $spanish .= '<strong>Published Date: '.get_sub_field('publised_date').'</strong>';
        $spanish .= '<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"><div class="panel panel-default">';
        /** PANEL HEADING **/
        $spanish .= '<div class="panel-heading" role="tab" id="heading'.$count.'">';
        $spanish .= '<h4 class="panel-title">';
        $spanish .= '<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse'.$count.'" aria-expanded="false" aria-controls="collapse'.$count.'">';
        $spanish .= get_sub_field('article_title');
        $spanish .= '</a></h4></div>';
        /** END PANEL HEADING **/
    
        /** COLLAPSE START **/
        $spanish .= '<div id="collapse'.$count.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading'.$count.'"><div class="panel-body">'.get_sub_field('article_body').'</div></div>';
        /** COLLAPS END **/
    
        $spanish .= '</div></div>';
    
    
    
        }
      endwhile;
      endif;
                                        ?> 
    <div class="tab-content lang-tab-content">
        <div role="tabpanel" class="tab-pane active" id="english">
        <?php echo $english; ?>
        </div>
        <div role="tabpanel" class="tab-pane" id="spanish">
        <?php echo $spanish; ?>
        </div>
    </div>
    

    【讨论】:

    • 嗨,Steffen,我已经添加了代码。感谢您是否可以提供代码示例
    • 所以这看起来很简单。我认为这是一些导航药丸的引导程序。您应该能够简单地将循环加倍。一个用于西班牙语,一个用于英语。
    • 您好,Steffen,感谢您的支持。不幸的是,此代码仅输出文本 EnglishSpanish。知道为什么吗?不过,我仍在尝试采纳您的建议。
    【解决方案2】:

    解决了。

                                        <ul class="nav nav-pills" role="tablist">
                                        <li role="presentation" class="active"><a href="#english" aria-controls="english" role="tab" data-toggle="tab">English</a></li>
                                        <li role="presentation"><a href="#spanish" aria-controls="spanish" role="tab" data-toggle="tab">spanish</a></li>
                                    </ul>
                                    </div>
    
                                    <div class="tab-content lang-tab-content">
    
                                        <div role="tabpanel" class="tab-pane active" id="english">
                                            <?php $ons=0; if(get_field('own_news')): ?>
                                                <?php while(has_sub_field('own_news')): ?>
                                                    <?php if( get_sub_field('language') == 'English' ): ?>
                                                        <strong>Published Date:</strong> <?php the_sub_field('publised_date');?>
                                                        <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
                                                            <div class="panel panel-default">
                                                                <div class="panel-heading" role="tab" id="heading<?php echo $ons ?>">
                                                                    <h4 class="panel-title">
                                                                        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse<?php echo $ons ?>" aria-expanded="false" aria-controls="collapse<?php echo $ons ?>"><?php the_sub_field('article_title');?></a>
                                                                    </h4>
                                                                </div>
                                                                <div id="collapse<?php echo $ons ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading<?php echo $ons ?>">
                                                                    <div class="panel-body">
                                                                        <?php the_sub_field('article_body');?>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    <?php endif; ?>
                                                <?php $ons++; endwhile; ?>
                                            <?php endif; ?>
                                        </div>
    
                                        <div role="tabpanel" class="tab-pane" id="spanish">
                                            <?php $ons=200; if(get_field('own_news')): ?>
                                                <?php while(has_sub_field('own_news')): ?>
                                                    <?php if( get_sub_field('language') == 'Spanish' ): ?>
                                                        <strong>Published Date:</strong> <?php the_sub_field('publised_date');?>
                                                        <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
                                                            <div class="panel panel-default">
                                                                <div class="panel-heading" role="tab" id="heading<?php echo $ons ?>">
                                                                    <h4 class="panel-title">
                                                                        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse<?php echo $ons ?>" aria-expanded="false" aria-controls="collapse<?php echo $ons ?>"><?php the_sub_field('article_title');?></a>
                                                                    </h4>
                                                                </div>
                                                                <div id="collapse<?php echo $ons ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading<?php echo $ons ?>">
                                                                    <div class="panel-body">
                                                                        <?php the_sub_field('article_body');?>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    <?php endif; ?>
                                                <?php $ons++; endwhile; ?>
                                            <?php endif; ?>
                                        </div>
                                    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 2014-07-07
      • 2018-10-06
      • 1970-01-01
      • 2020-11-25
      • 2019-10-19
      • 2015-08-02
      相关资源
      最近更新 更多