Если пользовательское поле не существует или существует и оно является истинным заголовком?

Я пытаюсь добавить новую тему к теме, и это показать / скрыть заголовок страницы, но так как у меня уже есть около 50 сообщений, я не могу перейти ко всем их и снова сохранить, чтобы сохранить собственные значения полей.

Поэтому я попытался проверить, не существует ли настраиваемое поле или существует, но не установлено значение false, показывает заголовок. Но им не удалось в какой-то момент.

Пользовательское поле – это метабокс с флажком, когда он проверяет, что он записывает «1» в базу данных, когда неблокированные записи «0» в базе данных. И, конечно, с тех пор, как я добавил его сейчас, 50 ​​сообщений не имеют этого поля в базе данных.

Вот моя последняя попытка.

if ( empty(vf_get_meta($post->ID, 'page_options', 'show_title')) || (vf_get_meta($post->ID, 'page_options', 'show_title') == true )) 

Это должно проверить, является ли meta пустым или если это правда и показать название страницы. Но что-то не понимаю. Не вернулось ли false, если оно пустое?

Как мне это сделать?

Solutions Collecting From Web of "Если пользовательское поле не существует или существует и оно является истинным заголовком?"

empty проверки для нескольких вещей:

  • "" (пустая строка)
  • 0 (0 как целое число)
  • 0.0 (0 в качестве поплавка)
  • «0» (0 в виде строки)
  • НОЛЬ
  • ЛОЖНЫЙ
  • array () (пустой массив)
  • $ Var; (объявленная переменная, но без значения)

Короче говоря, вы используете проверку, если значение оценивается как false или значение оценивается как true. В любом случае он всегда будет оценивать истину.

Теперь я не знаю, что возвращает функция vf_get_meta для пустых значений. Если вы посмотрите на основную функцию get_post_meta , она возвращает пустой массив или пустую строку, если для одного флага установлено значение true.

Я думаю, что лучшим переписыванием будет следующее:

 if ( vf_get_meta($post->ID, 'page_options', 'show_title') !== false ) 

Мы говорим, что до тех пор, пока оно не установлено в false , сделайте это. Вы заметите, что я использовал !== вместо != . The !== – это «Не идентичное» сравнение вместо != «Не равно». PHP преобразует определенные значения в логическое значение true или false для сравнения равенства. Иногда вы слышите, как люди говорят, что значение «правдивое» или «ложное» отражает то, как оно будет преобразовано в логическое значение.