根据另一个自定义帖子的自定义字段获取另一个自定义帖子的自定义字段选择

时间:2012-02-03 作者:tedi

所以我在这里已经智穷了。我以前做过很多次,但我想我已经盯着这个看了太多,我错过了一些东西。

我基本上有一个自定义贴子,叫做位置。该自定义帖子有几个字段,包括地址、纬度和经度。

lat/long是地理编码的,因此在用户输入地址后会自动填充它们(以便以后可以将它们转储到地图中):\\u字段(“纬度”);?>\\u name();?>“value=”the\\u value();?>“/>

\\u字段(“经度”);?>\\u name();?>“value=”the\\u value();?>“/>

第二部分是“人员自定义”字段,该字段有一个选择框,允许用户选择每个位置的标题:

\\u name();?>“>选择位置ID;?>”选择状态($office->ID)?>>post\\u标题;?>

我遇到的最后一个问题是把它们绑在一起。我有一个查询,显示人民的信息:

根据“人员自定义”帖子中的区域选择,我想在“位置”帖子中显示最后一个和长字段。我以前也做过类似的事情,没有任何问题,但这次不合作。我尝试过不同的变体,但我现在的处境是:

<?php 
        $people = get_posts(array(
        \'post_type\' => \'person\',
        \'nopaging\' => \'true\',
        \'order\' => \'ASC\'
        )); 

    foreach ($people as $person) :
        $office = \'office\';
        $office_id = get_post_meta($person->ID, \'person_location\', TRUE);
    ?>

   <?php get_post_meta($office_id, "latitude", true); ?>\', \'<?php echo get_the_title($office_id); ?>
我尝试了不同的方法,包括创建自定义查询,但没有成功:

function get_latLong($office_id) {
    global $wpdb;


    $mylink = $wpdb->get_row("SELECT * FROM $wpdb->location WHERE id =\'" . $office_id . "\'");
    echo $mylink->latitude;

}
如有任何见解,将不胜感激!谢谢

2 个回复
SO网友:Tom J Nowell

可能是:

<?php get_post_meta($office_id, "latitude", true); ?>
应该是

<?php echo get_post_meta($office_id, "latitude", true); ?>
也就是说缺少回音语句?

SO网友:Tom J Nowell

根据职位类型和位置,这将打印出每个人的纬度和办公室:

$q = new WP_query(array( \'post_type\'=> \'person\'));
if($q->have_posts()){
    while($q->have_posts()){
        $q->the_post();
        $location_id = get_post_meta($post->ID, \'person_location\', true);
        if(!empty($location_id)){
            echo \'<p>\'.get_the_title($location_id).\' is at latitude: "\'.get_post_meta($location_id, "latitude", true).\'"\';
        } else {
            // something went wrong here
        }
    }
}
wp_reset_postdata();
在else语句中放置一个错误调试调用,如果未设置纬度,您将得到一个纬度“”,它应该指示在哪里进行错误查找

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post