由于geo mashup只检索post\\u meta,因此我尝试将geo\\u位置从自定义注册字段复制到包含地图的页面的meta中。
我使用的代码是:
<?php
$blogusers = get_users_of_blog();
if ($blogusers) {
foreach ($blogusers as $bloguser) {
$user = get_userdata($bloguser->user_id);
$user_location = the_author_meta(\'geo_address\', $user->ID);
add_post_meta( 463, \'geo_move\', $user_location);
}}
?>
这将创建post meta,但该值写为空白,因此看起来$user\\u location不起作用。有什么建议吗?
最合适的回答,由SO网友:gmazzap 整理而成
首先get_users_of_blog
已弃用,因此您应该使用get_users
相反,或运行WP_User_Query
.
之后,the_author_meta
echo 元值,不返回任何内容。到return 您应该使用的元get_the_author_meta()
$blogusers = get_users( $args ); // for args see codex
if ($blogusers) {
foreach ( $blogusers as $bloguser ) {
$user_location = get_the_author_meta(\'geo_address\', $bloguser->ID );
$has_meta = get_post_meta(463, \'geo_move\', true);
if ($user_location && ! $has_meta) add_post_meta( 463, \'geo_move\', $user_location);
}
}