0

我有一个检查站点状态并将结果写入 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 限制还是我犯了一些错误?谢谢。

4

1 回答 1

0

你的函数不应该echo,它应该return- 代码在 Wordpress 准备页面时运行,而不是在输出到浏览器时运行,因此任何直接输出都将简单地显示在“真实”之前的页面顶部输出开始。

顺便说一句,一旦您不使用 echo,最好将 SimpleXML 对象显式转换为字符串,以避免任何意外行为:

return (string)$xml->sites->$name;
于 2013-07-16T23:10:16.460 回答