我正在制作一个插件,此功能包括单个帖子末尾的地图。 问题是,内容在索引上消失了。你能告诉我应该如何重新编码这个函数,以免影响索引上的内容吗?
function svmpm_display_svm( $content ) {
global $post, $options;
$options = get_option('svmpm_options');
$metaname = $options['metaname'];
$sheight = $options['hght'];
$swidth = $options['wdth'];
$svmpmaddress = get_post_meta($post->ID, $metaname, true);
if(is_single()) {
$acontent = '<div onunload="GUnload()">
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false" type="text/javascript"></script>
<div id="map_canvas" style="width: ';
$acontent .= $swidth;
$acontent .= '; height: ';
$acontent .= $sheight;
$acontent .= '"></div>
<script type="text/javascript">
var myAddress = ';
$acontent .= '\'';
$acontent .= $svmpmaddress;
$acontent .= '\';';
$acontent .= 'var userLocation = myAddress;
if (GBrowserIsCompatible()) {
var geocoder = new GClientGeocoder();
geocoder.getLocations(userLocation, function (locations) {
if (locations.Placemark)
{
var north = locations.Placemark[0].ExtendedData.LatLonBox.north;
var south = locations.Placemark[0].ExtendedData.LatLonBox.south;
var east = locations.Placemark[0].ExtendedData.LatLonBox.east;
var west = locations.Placemark[0].ExtendedData.LatLonBox.west;
var bounds = new GLatLngBounds(new GLatLng(south, west),
new GLatLng(north, east));
new GStreetviewPanorama(document.getElementById("map_canvas"),
{ latlng: bounds.getCenter() });
}
});
}
</script>
</div>';
if ($options['pbelow'] == 1) { //Only below p
return $content . $acontent;
};
} ;
};
add_filter('the_content', 'svmpm_display_svm');
答案 0 :(得分:1)
尝试放
if (! is_single()) return $content;
位于您的函数顶部。您似乎没有在$content
阻止之外返回if (is_single())
。