Скрыть пользовательское поле на основе другого пользовательского поля - PullRequest
0 голосов
/ 18 февраля 2019

Я создал интерфейсную форму, используя WP User Frontend , где у меня есть поле электронной почты с мета-ключом email и два поля флажка (скрыть электронную почту) со значениями параметров Yes (true) и No (false).

Когда пользователь выбирает Yes, в сообщении не должно быть адреса электронной почты этого пользователя.Я вижу поле флажка, сохраняющее правильные значения в базе данных, и теперь я хочу показать или скрыть поле email на основе этих значений.

Это код, который я использовал,но я не уверен, почему это не работает:

<?php if( get_post_meta($post->ID, 'hide_email', false); ?>
    <p>Email: <?php echo get_post_meta($post->ID, 'email', true);?></p>
<?php else : ?>
    <p>Email:<?php echo "Email is private";?></p>
<?php endif;  ?>

1 Ответ

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

При условии, что 'hide_email' сохраняется как логическое значение, и вы пытаетесь вывести этот код в файл шаблона одного сообщения, вот как будет работать ваш пример:

<?php if ( ! empty( get_post_meta( get_the_ID(), 'hide_email', true ) ) ) : ?>
  <p>Email: <?php echo get_post_meta( get_the_ID(), 'email', true ); ?></p>
<?php else : ?>
  <p>Email: E-mail is private</p>
<?php endif; ?>

У вас было несколькоСинтаксические ошибки в примере кода в вашем посте.Также важно отметить, что если вы передадите false в качестве третьего аргумента функции get_post_meta(), она вернет массив, даже если значение будет пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...