Мой массив $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";}, но почему его нет в метаполе?
попробуйте изменить имя переменной массива $ location на другое.
$ location пусто. В МАССИВЕ ничего нет.
В чем ценность этого? explode( '||', $_POST['aufnahmeort'] );, вероятно, дает вам массив с одним элементом
@dipmala Изменение имени ни на что не влияет.
@PrabowoMurti Список работает хорошо. $ adresse = Drachenfels 1, 53639 Königswinter, Deutschland - $ lat = 50.6650948 - $ long = 7.210271599999942 - Оригинал - $ _POST ['aufnahmeort'] = Drachenfels 1, 53639 Königswinter, Deutschland || 50.6650948 ||
Я предложил изменить название вашего вопроса. Это больше не связано с пустым массивом
@PrabowoMurti Вы правы.






why is it not in the metafield
Вы имели в виду, что это не отображается в настраиваемом поле?
Ваш код выше выполняет только работу по сохранению значения массива в базе данных. И поскольку вы уже проверили это значение в базе данных (в виде сериализованного массива), похоже, оно работает правильно.
Пожалуйста, проверьте код, который вы используете для отображения настраиваемого поля, и посмотрите, как вы получаете данные из базы данных и отображаете их в поле. Здесь вы должны отлаживать.
Здравствуйте, да, с базой данных все нормально, и сейчас работает нормально, меня раздражала штучка с настраиваемыми полями. Спасибо.
Что не работает? Что ты имеешь в виду?