Расширенные настраиваемые поля WordPress - Использование поля выбора в массиве и изменение элементов массива

Я работаю над сайтом WordPress. Я использую плагин ACF Pro. У меня есть поле выбора, и я хочу присвоить каждому параметру второе значение. Первое значение используется как заголовок. Вторая - это процентная цифра (на данный момент это просто строка). Это будет использоваться как метка, а также как процентное значение данных. Я не могу заставить выбранные значения работать с моим массивом. Вот мой код.

 <h4>Qualification: <?php echo $array_test; ?></h4>

А затем массив;

        <?php
            $myArray = array('$array_tests');
            $myArray[0]= '20%';
            $myArray[1]= '40%';
            $myArray[2]= '60%';
            $myArray[3]= '80%';
            $myArray[4]= '100%';

            echo "<h1> Test:";  
            echo $myArray;
            echo "<h1>";                    

        ?>

И, наконец, используя выходные данные модифицированного массива как процент данных;

<div class="skillbar clearfix" data-percent="<?php echo $myArray ?>%">

person Stuart Nelson    schedule 17.11.2014    source источник


Ответы (2)


Во-первых, вы не можете отображать массивы, но можете использовать print_r ($ array);

Пункт № 2: вы пытаетесь показать $ array_test, но не объявляете его заранее.

Итак, чтобы отобразить процентное значение внутри HTML, вы должны сделать что-то вроде этого:

<?php
            $myArray = array('$array_tests');
            $myArray[0]= '20%';
            $myArray[1]= '40%';
            $myArray[2]= '60%';
            $myArray[3]= '80%';
            $myArray[4]= '100%';

            echo "<h1> Test:";  
            print_r ($myArray);
            echo "<h1>";                    

        ?>

<div class="skillbar clearfix" data-percent="<?php echo $myArray[1] ?>%">

Здесь мы можем повторить эхо, потому что вы пытаетесь получить одно значение массива, а не все значения.

Это должно отражать 40% внутри разметки «data-percent», однако я думаю, что этот тип полос CSS не позволяет использовать символ% внутри, что означает, что вам просто нужно повторить «40».

person nunorbatista    schedule 18.11.2014
comment
Привет, @nunorbatista, спасибо за помощь! Это здорово, но не совсем работает. Единственное, что я не знаю, какой элемент из массива понадобится в качестве процентного значения. Теперь это дает мне этот код для моего заголовка; Array ( [0] => 20 [1] => 40 [2] => 60 [3] => 80 [4] => 100 ) И работает для процентного значения, но только когда я жестко запрограммировал, какой элемент мне нужен. Возможно ли, чтобы это сработало, не указав, какой элемент мне нужен? - person Stuart Nelson; 19.11.2014
comment
Привет, @StuartNelson. Это еще одна проблема, ваш массив имеет эти значения внутри и, следуя некоторому внешнему условию, он должен отображать требуемое значение. Невозможно работать, не указав, какой элемент вам нужен, иначе код должен был бы угадывать значение для отображения :) Мой ответ отвечает на ваш вопрос, поэтому я прошу вас принять его. Ваше здоровье! - person nunorbatista; 19.11.2014
comment
Думаю, я мог бы использовать переключатель? И назначить новую переменную для каждого случая и повторить новую переменную как мое значение для процентного значения. - person Stuart Nelson; 19.11.2014
comment
Не думаю, что вы понимаете проблему, с которой сталкиваетесь. Вы запрашивали способ показать значение внутри HTML, чтобы создать панель навыков с помощью CSS, и это сделано. Вы представили массив с несколькими значениями внутри, я не знаю, откуда они берутся и как они создаются. Вам нужно увидеть источник значений, чтобы знать, какой из них отображать. - person nunorbatista; 19.11.2014
comment
значения выбираются из настраиваемого поля, которое является раскрывающимся списком. Я решил это с помощью переключателя. Спасибо за вашу помощь! - person Stuart Nelson; 19.11.2014
comment
@StuartNelson Я рад помочь. Я не знал, откуда берутся ценности, я думал, что это какой-то измеритель достижений, и ошибался. Если мой ответ вам помог, примите его. Ваше здоровье - person nunorbatista; 19.11.2014

Итак, я назначил эту переменную своему выбранному настраиваемому полю.

$staff_qualification    = get_sub_field('qualification');

Я использую его для названия.

<h4>Qualification: <?php echo $staff_qualification; ?></h4>

И я создал переключатель, так что теперь у меня есть новое значение, назначенное каждому параметру из раскрывающегося списка.

        <?php

        switch ($staff_qualification) {
        case "NVQ Level 1":
          $staff_qualification_percentage = 20;
          break;
        case "NVQ Level 2":
          $staff_qualification_percentage = 40;
          break;
        case "NVQ Level 3":
          $staff_qualification_percentage = 60;
          break;
        case "NVQ Level 4":
          $staff_qualification_percentage = 80;
          break;                                
        case "Degree In Childcare":
          $staff_qualification_percentage = 100;
          break;
        }                      
    ?>

И теперь я повторяю переменную, используемую в каждом случае, в качестве значения процента данных.

<div class="skillbar clearfix" data-percent="<?php echo $staff_qualification_percentage; ?>%">
person Stuart Nelson    schedule 19.11.2014