我的数组$location
为空。但这很奇怪。列表($adresse, $lat, $long
创建变量$lat
和$long
。我知道,因为它们是在update_post_meta
字段中输入的。但是该数组不起作用。
创建数组时我做错了什么?列表只工作一次吗?
干杯,
丹尼斯
PHP 7.2,Wordpress 5.02,WP User Frontend Pro插件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' );
我想要一个经纬度的数组。
我有一个更新:
我刚刚在postmeta
表中进入了wordpress数据库,并且在newLOCATION
下有这个数组a:2:{s:8:"latitude";s:12:" 50.7936389 ";s:9:"longitude";s:18:" 6.952259499999968";}
,但是为什么不在元字段中呢?
答案 0 :(得分:0)
为什么不在元字段中
您是说它没有显示在自定义字段中吗?
您上面的代码仅完成将数组值保存到数据库的工作。并且您已经验证了数据库中的值(以序列化数组的形式),它似乎可以正常工作。
请检查用于显示自定义字段的代码,并查看如何从数据库获取数据并显示在该字段中。在这里,您应该调试。