Добавить запятую в счетчик

#php #wordpress #counter #comma

#php #wordpress #счетчик #форматирование чисел

Вопрос:

Я хотел бы добавить запятую к числам (10000 -> 10000) в счетчике моего веб-сайта WordPress. К сожалению, я не знаю php, и команда поддержки темы wp отказывается помогать, кроме как платить им. Интересно, может ли кто-нибудь помочь или дать мне знать, это сложная задача настройки? Это своего рода короткий код, и ниже приведен весь php-скрипт:

 <?php


$args = get_query_var('trx_addons_args_sc_skills');

$icon_present = '';
$data = '';

foreach ($args['values'] as $v) {
    $icon = !empty($v['icon_type']) amp;amp; !empty($v['icon_' . $v['icon_type']]) amp;amp; $v['icon_' . $v['icon_type']] != 'empty' ? $v['icon_' . $v['icon_type']] : '';
    if (!empty($icon) amp;amp; strpos($icon_present, $v['icon_type'])===false)
        $icon_present .= (!empty($icon_present) ? ',' : '') . $v['icon_type'];
    $ed = substr($v['value'], -1)=='%' ? '%' : '';
    $value = str_replace('%', '', $v['value']);
    $percent = round($value / $args['max'] * 100);
    $start = 0;
    $stop = $value;
    $steps = 100;
    $step = max(1, $args['max']/$steps);
    $speed = mt_rand(10,40);
    $animation = round(($stop - $start) / $step * $speed);
    $item_color = !empty($v['color']) ? $v['color'] : (!empty($args['color']) ? $args['color'] : '#efa758');
    $data .= ($args['columns'] > 0 ? '<div class="sc_skills_column 
'.esc_attr(trx_addons_get_column_class(1, $args['columns'])).'">' : '')
            . '<div class="sc_skills_item_wrap">'
            . '<div class="sc_skills_item">'
                . (!empty($icon) ? '<div class="sc_skills_icon 
'.esc_attr($icon).'"></div>' : '')
                . '<div class="sc_skills_total"'                    
                    . ' data-start="'.esc_attr($start).'"'
                    . ' data-stop="'.esc_attr($stop).'"'
                    . ' data-step="'.esc_attr($step).'"'
                    . ' data-max="'.esc_attr($args['max']).'"'
                    . ' data-speed="'.esc_attr($speed).'"'
                    . ' data-duration="'.esc_attr($animation).'"'
                    . ' data-ed="'.esc_attr($ed).'">'
                    . ($start) . ($ed)                  
                . '</div>'
            . '</div>'
            . (!empty($v['title']) ? '<div 
class="sc_skills_item_title">'.nl2br(str_replace('|', "n", 
esc_html($v['title']))).'</div>' : '')
        . '</div>'
    . ($args['columns'] > 0 ? '</div>' : '');
}

?><div id="<?php echo esc_attr($args['id']); ?>"
        class="sc_skills sc_skills_counter<?php echo !empty($args['class']) ? 
' '.esc_attr($args['class']) : ''; ?><?php echo $args['extra']==1 ? ' extra' : ''; ?>"
        <?php echo !empty($args['css']) ? ' style="'.esc_attr($args['css']).'"' : ''; ?>
        data-type="counter"
        ><?php

        trx_addons_sc_show_titles('sc_skills', $args);
    
        if ($args['columns'] > 1) {
            ?><div class="sc_skills_columns sc_item_columns <?php echo 
esc_attr(trx_addons_get_columns_wrap_class()); ?> columns_padding_bottom"><?php
    }
    echo trim($data);
    if ($args['columns'] > 1) {
        ?></div><?php
    }

    trx_addons_sc_show_links('sc_skills', $args);
    
?></div><?php

trx_addons_load_icons($icon_present);
?>
 

Ответ №1:

Просто используйте предопределенные функции в PHP

  • числовой формат
  • money_format в зависимости от того, что вам подходит.

Комментарии:

1. Спасибо за вашу помощь. Извините, что я не знаю кодирования на php, вы имеете в виду, что я могу добавить какой-нибудь скрипт на php для определения числового формата?

2.php.net/manual/en/function.money-format.php php.net/manual/en/function.number-format.php Обратитесь к этим ссылкам

Ответ №2:

Ваш код не совсем понятен… Может быть, вы сможете сначала найти любую переменную, с которой вам придется иметь дело.

Как только это будет сделано, вы можете применить к нему метод number_format(), который преобразует его в нужный вам формат. Пример :

 <?php
$your_variable = 100000000000; //define a new variable called $your_variable 
echo $your_variable ; //print out the variable
?>
 

вывод: 100000000000

 <?php
$your_variable = 100000000000; 
echo number_format($your_variable) ; //print out the variable with number_format() function added to it
?>
 

вывод: 100 000 000 000

Комментарии:

1. Спасибо за вашу помощь, но у меня нет точного числа, это виджет, в который я ввожу данные, а затем он запускается как счетчик. Я предполагаю, что отображаемая переменная — $start, $ stop, должен ли я вставить группу php-кода в конце всего скрипта? или я просто добавляю echo number_format рядом с переменной? извините, я не знаю никакого php

2. ну, это то, что я говорил, просто используйте number_format() для этих переменных и посмотрите, что произойдет

3. Должен ли я сделать так? . ‘data-start=»‘.esc_attr($start).'»‘ —> . ‘ data-start=»‘.esc_attr nuber_format($start).

4. больше похоже на esc_attr(number_format($start))

5. пытался, но не удалось. Он показывает только первую цифру числа. В любом случае спасибо