XML输出不在我想要的位置

时间:2013-07-16 作者:Mr.M

我有一个脚本,可以检查一些站点的状态(每天使用cron),并将结果写入xml文档。Xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
 <xml>
  <sites>
   <site1>result of site1</site1>
   <site2>result of site2</site2>
   ...
  </sites>
 </xml>
然后,我有一个函数,可以使用wordpress短代码获取每个站点的xml内容,如下所示:

<?php
function CheckRemoteService($atts) {
 extract(shortcode_atts(array(
  \'name\' => \'txt\',
 ), $atts));

$xml = simplexml_load_file(\'my.xml\');
echo $xml->sites->$name;

}
add_shortcode(\'checkmyurl\',\'CheckRemoteService\');
?>
短代码为我提供了正确的输出,但所有结果都放在顶部的同一行上,就像在那里被阻止一样。我想将这些结果与其他数据一起插入表中。这是xml限制还是我犯了一些错误?谢谢

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

短代码必须返回内容,而不是回显内容。参见法典中的任何示例add_shortcode()

因此,您的回调函数可能应该是:

function CheckRemoteService($atts) {
 extract(shortcode_atts(array(
  \'name\' => \'txt\',
 ), $atts));

$xml = simplexml_load_file(\'my.xml\');
return $xml->sites->$name;

}
add_shortcode(\'checkmyurl\',\'CheckRemoteService\');

结束

相关推荐

存档.php中的2个循环(每个类别一个)

我为我正在构建的网站上的新闻博客设置了一个自定义帖子类型,自定义帖子类型为blog 由2类组成,blog-image-post ID号=3 和blog-text-post ID号=4. 我想分别循环每个类别,因为每个类别在归档中的显示和样式略有不同。我目前有: <div id=\"blog-grid\"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>