SQL запрос вместо get_post_meta, add_post_meta, update_post_meta
Необходимо используя минимальную среду WordPress
define('SHORTINIT', true); require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
Имея ID поста например "10" и имя ключа мета-поля "my_meta_key" сделать на SQL следующее:
1) Проверить наличие ключа мета-поля поста и если мета-поля с таким ключом нету, то создать его и добавить в него значение.
2) Если мета-поле с таким ключом есть, то проверить сколько таких мета-полей есть у поста, если больше одного, то удалить все и добавить одно новое.
3) Если только одно метаполе с таким ключом, то получить значение этого метаполя, обработать его и обновить.
4) Имея массив с IDs постов, пример array(10,11,12,13) получит значения мета полей "my_meta_key" их соответствующих постов:
$arr[] = array("ID_поста" => "значение мета поля ключа my_meta_key поста с этим ID")
global $wpdb; // Проверить существование мета поля // Посчитать количество мета полей у поста // Создать мета поле для поста по ID // Обновить значение мета-поля поста если такое мета-поле существует // Если можно SQL запросом получить значения ключей для постов из массива см. пункт 4 выше. // Получить значение $value = $wpdb->get_var("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'my_meta_key' AND post_id = 10");