Содержимое поля ретранслятора ACF во вкладках

Я пытаюсь представить чистую, простую в использовании отправку клиентского внутреннего поля на панели управления 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 -->

person JudeAinsly    schedule 20.10.2017    source источник


Ответы (2)


покажите, пожалуйста, код цикла. Без какой-либо информации о вашем коде на это довольно сложно ответить.

Я бы просто перебрал все строки повторителя и установил класс, чтобы скрыть элементы на основе предпочтительного языка. Затем переключите класс с помощью 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>
person Steffen Görg    schedule 20.10.2017
comment
Привет, Штеффен, я добавил код. Благодарю, если вы могли бы предоставить образец кода - person JudeAinsly; 22.10.2017
comment
Так что это выглядит довольно просто. Я думаю, что это начальный этап с некоторыми таблетками для навигации. Вы должны просто удвоить петлю. один для испанского и один для английского. - person Steffen Görg; 23.10.2017
comment
Привет, Штеффен, спасибо за вашу поддержку. к сожалению, этот код выводит только текст EnglishSpanish. Есть идеи, почему? Однако я все еще пытаюсь выполнить ваше предложение. - person JudeAinsly; 23.10.2017

Решено.

                                    <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>
person JudeAinsly    schedule 01.11.2017