为不同的POST_META值显示不同的Google地图标记

时间:2015-09-25 作者:N00b

很多网站都使用它,但令人惊讶的是,没有人告诉我们如何使用它(正确的方式)。

我几乎没有什么想法,但我不确定这是否是最有效的方法-我对循环不是很在行(在编程方面没有一年的经验)。

原始示例:

有很多if 中的语句foreachwhile

// All this inside loop - I\'ve already got while loop for my multiple markers
global $post;
$veggie_type = get_post_meta($post->ID, \'veggie_type\', true);

if($veggie_type == \'carrot\') {

     icon = marker_url_1;

}
else if($veggie_type == \'beet\') {

     icon = marker_url_2;

}
//etc like 10 if statements
谁能给我一个建议或例子?

1 个回复
最合适的回答,由SO网友:MSTannu 整理而成

Meta似乎是存储这些数据的好地方。

要使其更紧凑,请执行以下操作:

$markers = array(
    \'carrot\' => \'marker_url_1\',
    \'beet\'   => \'marker_url_2\',
);

$icon = isset( $markers[ $veggie_type ] ) ? $markers[ $veggie_type ] : $markers[0];
或者,如果您确定每种类型都有标记,并且可以重命名标记文件,请使用

$icon = \'marker_\' . $veggie_type . \'.png\';// png format is better for small images

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp