Wordpress user_meta за пост - PullRequest
       1

Wordpress user_meta за пост

0 голосов
/ 01 июля 2019

У меня есть собственный плагин, который генерирует некоторые данные на пользователя на пост.

Я собираюсь заменить мои жестко запрограммированные данные, использованные для тестирования, данными, взятыми из БД и отправленными в БД, и мне понадобился совет.

Данные на пользователя будут:

  • postID>
    • currentScore
    • totalScore
    • totalSpend
    • timesWon
    • wonTotal

Мой вопрос - самый эффективный способ сохранить это как массив meta_key или как отдельные поля?

Опять же, это будет для каждого пользователя для каждого поста, так что я беспокоюсь о том, чтобы излишне раздувать БД.

Я также не понимаю, как назначить все дочерние переменные родительской переменной postID.

Я думаю, что нахожусь на правильном пути с этим, но не понимаю, почему «ваш ключ» там:

$the_meta_array = array (
'postID' => ‘$post->ID’,
   array (
   'currentScore' => 'value-2',
   'totalScore' => 'value-3',
   'totalSpend' => 'value-4',
   'timesWon' => 'value-5',
   'wonTotal' => 'value-6',
));  
$user_id = wp_get_current_user();
$user_meta_key = 'your-key';  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

Спасибо.

1 Ответ

1 голос
/ 01 июля 2019

Этот код сохранит массив для каждого, используя postID в качестве meta_key Вроде как это: пользователь 1301 currentScore общий счет ... 1302 currentScore общий счет ...

$the_meta_array = array (
   'currentScore' => 'value-2',
   'totalScore' => 'value-3',
   'totalSpend' => 'value-4',
   'timesWon' => 'value-5',
   'wonTotal' => 'value-6',
);  
$user_id = wp_get_current_user();
$user_meta_key = 'userScore' . $post->ID;  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

Как предложено О. Джонсом, используйте отдельный префикс для meta_key (например, 'userScore -')

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