Echo php içine google javascript haritası

2 Cevap php

Bu mümkün mü (ve eğer öyleyse nasıl açıklayınız) özellikle ben bir google harita açıklama içine wordpress platformda bir özel alan yankılayacak çalışıyorum benim amaç için, javascript php echo. Ben girişine müşteriye bir harita üzerinde işaret noktaları görünen metni bir cms arka uç verebilir umuyorum. Ne ben hiçbir başarı ile çalışıyorum olduğunu:

var point = new GLatLng(49.295308,-123.149297);
var marker = createMarker(point,"Site Title",'<div class="maptext"><p class="prepend-top caption">Title<\/p>

    <?php $the_query = new WP_Query('category_name=featured');
    while ($the_query->have_posts()) : $the_query->the_post();?>
    <?php if ( get_post_meta($post->ID, 'site-description', true) ) { ?>
    <?php echo get_post_meta($post->ID, 'site-description', $single = true); ?>
    <?php } ?>
    <\/div>')
          map.addOverlay(marker);

Tamam sarfaz onun orignal tepki ile doğru ve bunu kırma bir ayrıştırma hatası başlamıştı. ne nihayet çalıştı bu oldu:

 var point = new GLatLng(48.134239,-122.764769);
      var marker = createMarker(point,"Port Townsend Marine Science Center",'<div class="maptext"><?php $the_query = new WP_Query('post_name=test-site');
while ($the_query->have_posts()) : $the_query->the_post();?><?php if ( get_post_meta($post->ID, 'map-content', true) ) { ?><?php echo get_post_meta($post->ID, "map-content", $single = true); ?><?php } ?><?php endwhile; ?><\/div>')
      map.addOverlay(marker);  

--- GÜNCELLEME ---

Sadece bu ben hep o işaret bağlantılı özel bir tane istiyorum beri bana Mesajları kapmak için en iyi yol olarak bulundu eklemek istedim:

  var point = new GLatLng(48.5139,-123.150531);
  var marker = createMarker(point,"Lime Kiln State Park", 
    '<?php $post_id = 182;
$my_post = get_post($post_id);
$title = $my_post->post_title;
echo $title;
echo $my_post->post_content;
?>')
      map.addOverlay(marker);

2 Cevap

Yes, that is surely possible to have php echoed in javascript code. In your code you are missing the endwhile so only first subsequent line of your code is executing causing you unexpected result.

Update: t deneyin onun:

var point = new GLatLng(49.295308,-123.149297);
var marker = createMarker(point,"Site Title","<div class=\"maptext\"><p class=\"prepend-top caption\">Title</p>

    <?php $the_query = new WP_Query('category_name=featured');
    while ($the_query->have_posts()) : $the_query->the_post();?>
    <?php if ( get_post_meta($post->ID, 'site-description', true) ) { ?>
    <?php echo get_post_meta($post->ID, 'site-description', $single = true); ?>

    </div>")
          map.addOverlay(marker);
    ..................

I think the problem simply comes from the new lines you generate in the javascript string. The output of the code will be something like this:

var marker = createMarker(point,"Site Title","<div class="\maptext\"><p class=\"prepend-top caption\">Title</p>
    thedatafromyourquery
    </div>")

ne olmasını istiyorsanız bu gibi bir şeydir:

var marker = createMarker(point,"Site Title","<div class="\maptext\"><p class=\"prepend-top caption\">Title</p>" +
    "thedatafromyourquery" +
    "</div>")

Umarım bu yardımcı olur.