Google Mapでマーカーを生成するためにWordpressからXMLファイルを生成する必要がありました。 私はここで見つけた関数を変更しました:Write to XML file using fopen in WordpressGoogleマップ用のWordpressでXMLファイルを生成するときにコンテンツを取得するときに問題が発生する
投稿は変更されたときに必ず実行されます。
地図の側面がうまくいきます。私は各エントリのタイトルと経度と緯度を持つXMLファイルを生成することができ、マップ上に適切にプロットされます。
しかし、私は住所のために使用したい投稿内容を得ることができないようです。私はテストのためにエコーするだけのコンテンツを取得することさえできません。私はXMlと矛盾していた場合には、htmlをエンコードしようとしましたが、何もしませんでした。どんな内容も出ていないようだ。はい、私は記事が内容を持っていることを確信していますが、私は何か簡単なことを忘れてしまったかもしれないと思っています.-p
私の機能は以下の通りです。
add_action('save_post', 'markers_xml');
function markers_xml(){
if ($_POST['post_type'] == 'places-to-eat')
{
$xml = new SimpleXMLElement('<xml/>');
$markers = get_posts(array('post_type'=>'places-to-eat', 'numberposts'=>-1));
$xml->addChild('markers');
foreach($markers as $i=>$marker){
$name = get_the_title($marker->ID);
$address = get_the_content($marker->ID);
$address = htmlentities($address);
$lat = get_post_meta($marker->ID, 'the-lat', true);
$lng = get_post_meta($marker->ID, 'the-lng', true);
$xml->markers->addChild('marker');
$xml->markers->marker[$i]->addChild('name', $name);
$xml->markers->marker[$i]->addChild('address', $address);
$xml->markers->marker[$i]->addChild('lat', $lat);
$xml->markers->marker[$i]->addChild('lng', $lng);
}
$file = '/public_html/wp-content/uploads/test.xml';
$open = fopen($file, 'w') or die ("File cannot be opened.");
fwrite($open, $xml->asXML());
fclose($open);
}
}