PHP изменить значение поля при отображении на переднем конце - PullRequest
0 голосов
/ 13 февраля 2019

Имя поля «день» имеет 5 значений: «mon», «tue», «wed», «thur» или «fri».

Когда я повторяю их во внешнем интерфейсе с помощью:

                <div class="listing-footer-left">

                    <?php $day = get_post_meta( get_the_ID(),'day', true );

                    echo $day; ?>

                </div>

Я бы хотел отобразить значение mon в понедельник, а значение tue - вторник и т. Д.

Пожалуйста, не могли бы вы сообщить, как это возможно?

Большое спасибо, Мэтт

1 Ответ

0 голосов
/ 13 февраля 2019

Вы можете использовать date и strtotime следующим образом:

https://3v4l.org/RlHkr

<?php
$day = get_post_meta( get_the_ID(),'day', true );
echo date('l', strtotime($day));
echo $day;
?>

РЕДАКТИРОВАТЬ: Это работает только для единственного числа, хотя я не думаю, что естьвстроенное решение для множественного числа с учетом локали - если вам просто нужно, чтобы оно работало на английском, вы можете просто создать массив:

https://3v4l.org/L8Jr4

<?php

$arr = ['mon' => 'Mondays', 'tue' => 'Tuesdays']; // ...
$day = 'mon';
echo $arr[$day];

или использовать подход сверхуи просто добавьте s:

https://3v4l.org/2gkvI

<?php
$day = get_post_meta( get_the_ID(),'day', true );
echo date('l\s', strtotime($day));
echo $day;
?>

Ссылки:

http://php.net/manual/en/function.date.php

http://php.net/manual/en/function.strtotime.php

...