Удалите пробел между знаком доллара и настраиваемым полем «цена»

Я использую настраиваемые поля для отображения цен (кроме знака доллара). Моя цель — закодировать знак доллара в теме, но я столкнулся с проблемой.

Причина, по которой я использую этот подход, заключается в том, что если я введу знак доллара в настраиваемое поле, я не смогу использовать 'orderby' => 'meta_value_num'
И мне нужно использовать условный оператор для отображения знака доллара, потому что не все посты будут иметь цены.

Код ниже приводит к

9,75 $

Обратите внимание на пробел между знаком доллара и цифрой «9». Как я могу удалить пустое пространство? Или есть альтернативный метод кодирования знака доллара с помощью условного оператора?

<?php if( get_post_meta($post->ID, 'price', true) ) { ?>
$
<?php } ?>

<?php echo get_post_meta( get_the_ID(), 'price', true); ?>

0

Решение

Удалил пробелы в самом коде и немного его оптимизировал (не понимал, зачем вам условие для знака доллара, а не для самой цены), это должно сработать:

<?php if( get_post_meta($post->ID, 'price', true) ) {
echo '$', get_post_meta( get_the_ID(), 'price', true);
} ?>

Откуда исходит пространство в исходном коде:

<?php if( get_post_meta($post->ID, 'price', true) ) { ?>
$<!- HERE ->
<?php } ?>   <!- HERE ->
<!- AND HERE ->
<?php echo get_post_meta( get_the_ID(), 'price', true); ?>

Смотрите идею здесь: http://jsfiddle.net/93mcu7sj/

2

Другие решения

Других решений пока нет …