Как сохранить массив в пользовательском поле Wordpress? - PullRequest
0 голосов
/ 04 января 2019

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

PHP 7.2, Wordpress 5.02, WP User Frontend Pro Plugin WPUF 3.0.2

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

$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";}, но почему его нет в метаполе?

1 Ответ

0 голосов
/ 05 января 2019

почему его нет в метаполе

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

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

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

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