содержание индекса исчезает в Wordpress - PullRequest
0 голосов
/ 05 августа 2011

Я делаю плагин, и эта функция включает в себя карту в конце одного поста. Проблема в том, что контент исчезает из индекса. Можете ли вы сказать мне, как я должен перекодировать эту функцию, чтобы она не влияла на содержимое индекса?

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&amp;v=2&amp;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');

1 Ответ

1 голос
/ 05 августа 2011

Попробуйте поставить

if (! is_single()) return $content;

в верхней части вашей функции.Похоже, вы никогда не вернете $content за пределы вашего if (is_single()) блока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...