Лучший способ сохранить постмета

Просто интересно, какой лучший способ сохранить постмета.

Я не хочу, чтобы пустые значения postmeta забивали базу данных.

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

Любые мнения о том, как это сделать? Улучшения ?:

if ( isset( $_POST[ '_my_meta_key' ] ) && $_POST[ '_my_meta_key' ] !== '' ) { update_post_meta( $post_id, '_my_meta_key', $_POST[ '_my_meta_key' ] ); } else { delete_post_meta( $post_id, '_my_meta_key' ); } 

Ваш подход хорош, вы должны выполнить базовую проверку против данных. В противном случае вы можете получить массив или сериализованный объект …, который может привести к непредвиденным последствиям (включая проблемы с безопасностью!), Когда вы или кто-то еще пытается распечатать значения.

Может быть, что-то вроде этого проще:

 $key = '_my_meta_key'; $value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING ); if ( $value ) update_post_meta( $post_id, $key, $value ); else delete_post_meta( $post_id, $key ); 

Обратите внимание, что вам следует избегать написания ключевой строки более одного раза. Если вы когда-либо захотите изменить свое имя, у вас должно быть как можно меньше мест для поиска. В идеале, всего одна из всех ваших кодовых баз.