我有一个脚本,用于检查站点的状态并在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限制还是我犯了一些错误? 感谢。
答案 0 :(得分:0)
你的功能不应该echo
任何东西,return
它 - 代码在Wordpress准备页面时运行,而不是在输出到浏览器时运行,因此任何直接输出都将只需在“真实”输出开始之前显示在页面顶部。
顺便提一下,一旦你没有使用echo,最好将SimpleXML对象显式地转换为字符串,以避免任何意外行为:
return (string)$xml->sites->$name;