WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

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");
0
avense
месяц назад 6

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация