Как сохранить массив в настраиваемом поле Wordpress?

Мой массив $location пуст. Но это очень странно. Список ($adresse, $lat, $long) создает переменные $lat и $long. Я знаю это, потому что они введены в поля update_post_meta. Но массив не работает. Что я делаю неправильно при создании массива? Список работает только один раз? Ваше здоровье, Денис

PHP 7.2, Wordpress 5.02, плагин WP User Frontend Pro WPUF 3.0.2

Я пробовал использовать такой массив, как $location[...], но он не работает. Я попытался сделать ARRAY статичным, например

$location = array(      
    'latitude' => 'lat',
    'longitude' => 'long'
);

но это не работает :-(

Это мой код функции для Wordpress:

function update_GEOmyWP( $post_id ) {

if ( ! $post_id ) {
return;
}

if ( ! function_exists( 'gmw_update_post_location' ) ) {
return;
}

if ( isset( $_POST['aufnahmeort'] ) ) {

list( $adresse, $lat, $long ) = explode( '||', $_POST['aufnahmeort'] );

$location = array(      
    'latitude' => $lat,
    'longitude' => $long
);

if ( $adresse ) {
    update_post_meta( $post_id, 'newADDRESS', $adresse );
}
if ( $lat ) {
    update_post_meta( $post_id, 'newLAT', $lat );
}
if ( $long ) {
    update_post_meta( $post_id, 'newLONG', $long );
}
// I added this line to check if something is written in the meta field, but the field is empty.
if ( $location ) {
    update_post_meta( $post_id, 'newLOCATION', $location );
}

gmw_update_post_location( $post_id, $location );

}
}
add_action( 'wpuf_add_post_after_insert', 'update_GEOmyWP' );
add_action( 'wpuf_edit_post_after_update', 'update_GEOmyWP' );

Я хотел бы иметь МАССИВ широты и долготы.

У меня есть обновление:

Я только что залез в базу данных wordpress в таблице postmeta, а под newLOCATION есть МАССИВ a:2:{s:8:"latitude";s:12:" 50.7936389 ";s:9:"longitude";s:18:" 6.952259499999968";}, но почему его нет в метаполе?

Что не работает? Что ты имеешь в виду?

Jeto 04.01.2019 14:26

попробуйте изменить имя переменной массива $ location на другое.

dipmala 04.01.2019 14:27

$ location пусто. В МАССИВЕ ничего нет.

DenisCGN 04.01.2019 14:28

В чем ценность этого? explode( '||', $_POST['aufnahmeort'] );, вероятно, дает вам массив с одним элементом

Prabowo Murti 04.01.2019 14:31

@dipmala Изменение имени ни на что не влияет.

DenisCGN 04.01.2019 14:34

@PrabowoMurti Список работает хорошо. $ adresse = Drachenfels 1, 53639 Königswinter, Deutschland - $ lat = 50.6650948 - $ long = 7.210271599999942 - Оригинал - $ _POST ['aufnahmeort'] = Drachenfels 1, 53639 Königswinter, Deutschland || 50.6650948 ||

DenisCGN 04.01.2019 14:37

Я предложил изменить название вашего вопроса. Это больше не связано с пустым массивом

Prabowo Murti 04.01.2019 15:18

@PrabowoMurti Вы правы.

DenisCGN 04.01.2019 15:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
8
1 100
1

Ответы 1

why is it not in the metafield

Вы имели в виду, что это не отображается в настраиваемом поле?

Ваш код выше выполняет только работу по сохранению значения массива в базе данных. И поскольку вы уже проверили это значение в базе данных (в виде сериализованного массива), похоже, оно работает правильно.

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

Здравствуйте, да, с базой данных все нормально, и сейчас работает нормально, меня раздражала штучка с настраиваемыми полями. Спасибо.

DenisCGN 19.01.2019 13:15

Другие вопросы по теме