Nano Hash - криптовалюты, майнинг, программирование

Несколько update_user_meta в Wordpress

Привет, ребята, у меня есть эта система баллов в проекте, все работает нормально, за исключением того, что я не могу добавить мета_значения для нескольких пользователей.

Я использую <?php update_user_meta( $user_id, $meta_key, $meta_value, $prev_value ) ?>, но это не работает с несколькими пользователями.

Есть идеи?

28.12.2010

Ответы:


1

Вы просто передаете массив с user_id в update_user_meta? Тогда точно не получится.

Используя цикл по всем user_id, он должен работать:

foreach($user_ids as $user_id){
    update_user_meta($user_id, $key, $value);
}

Подумайте о генерируемом SQL, не забывая при этом о структуре базы данных WordPress. У него есть таблица wp_usermeta со столбцами user_id, meta_key и meta_value. Это означает, что у каждого мета-значения есть строка в этой таблице для каждого пользователя. Вы можете использовать некоторый код как

global $wpdb;

$ids = implode("', '", $user_ids);
$wpdb->query($wpdb->prepare("UPDATE {$wpdb->usermeta} SET meta_value = %s WHERE user_id IN ('{$ids}') AND meta_key = %s"), $value, $key);

Однако это не сработает, если meta_key для определенного пользователя еще не существует. Затем вам понадобится оператор INSERT, который вы не можете сделать в пакете.

28.12.2010
  • Пожалуйста, опубликуйте еще немного кода или попробуйте отладить его самостоятельно. 31.12.2010

  • 2

    Вы можете попробовать что-то вроде;

    $user_meta_fields = array ( 'first_name', 'last_name', 'account_type', 'vd_sub_name', 'description', 'vd_adress', 'vd_cp', 'vd_ville', 'vd_department', 'vd_region', 'vd_country', 'vd_tel', 'vd_gsm', 'vd_fax', 'url' );
            foreach($user_meta_fields as $user_meta_field){
                //echo "update_user_meta(".$user_id.", ".$user_meta_field.", ".$posted[$user_meta_field].");";
                update_user_meta($user_id, $user_meta_field, $posted[$user_meta_field]);
            }
    
    29.03.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..