我有一个脚本,可以检查一些站点的状态(每天使用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限制还是我犯了一些错误?谢谢
最合适的回答,由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\');