这是我正在开发的插件,它的功能是显示存储在插件目录中的CSV文件,作为HTML表格;我之所以手动编写这个,而不是使用执行类似任务的众多现有插件之一,我需要能够将html输出用于稍后将执行的另一个脚本的函数,而不是仅显示此数据。
短代码正在运行,因为它在页面上不可见,但页面上没有其他内容。
据我所知,我用来测试这个插件的csv文件没有损坏,可以打开。
这是Book1.csv的内容:
test1,test2,test3
a,b,c
1,2,3
4,5,6
7,8,9
10,11,12
13,14,15
<?php
<table>
<thead>
<th>
Image
</th>
<th>
Name
</th>
<th>
Price
</th>
</thead>
<tbody>
<?php
add_shortcode( "csv", "open_csv_file");
function open_csv_file() {
$handle = fopen("Book1.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE):
}
?>
<?php
<tr>
<td><?= $data[1] ?></td>
<td><?= $data[2] ?></td>
<td>$<?= number_format($data[7], 2) ?></td>
</tr>
endwhile;
}
</tbody>
</table>
?>
答案 0 :(得分:1)
我在你的代码中发现了一些错误,首先你没有得到任何输出,因为
以下内容可能有效,
<?php
add_shortcode( "csv", "open_csv_file");
function open_csv_file() {
?>
<table>
<thead>
<th>
Image
</th>
<th>
Name
</th>
<th>
Price
</th>
</thead>
<tbody>
<?php
$handle = fopen("Book1.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE):
?>
<tr>
<td><?php echo $data[1]; ?></td>
<td><?php echo $data[2]; ?></td>
<td>$<?php echo number_format($data[7], 2); ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
<?php } ?>