0

如何合并下面的循环以导出为 CSV?

<?php $answers = new WP_Query(array('cat' => 25, 'order' => 'DESC')); ?>
<table width="100%" border="1" cellspacing="1" cellpadding="1">
      <tr>
        <td valign="top">Name</td>
        <td valign="top">Submission/production title</td>
        <td valign="top">Performance space</td> 
      </tr>
<?php if ($answers->have_posts()) : while ($answers->have_posts()) : $answers->the_post(); ?>   
      <tr>
        <td><?php echo the_title(); ?></td>
        <td><?php echo the_field('submit_submission_production_title'); ?></td>
        <td><?php echo the_field('submit_performance_space'); ?></td>  
      </tr>
   <?php endwhile; ?> 
    </table>                    
<?php endif; ?>

如何将其与fputcsv集成?

<?php
$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line), ',', '&quot;');
}
fclose($fp);
?>
4

1 回答 1

1

首先,the_titlethe_field* 是自己 echo的功能,你不需要echo the_title().

* 假设这是来自高级自定义字段。

只需构建一个数组,例如:

$answers = new WP_Query( array('cat' => 25, 'order' => 'DESC') ); 
if ( $answers->have_posts() ) {
    $list = array( 'Name,Submission/production title,Performance space' );
    while ( $answers->have_posts() ) {
        $title = get_the_title();
        $field1 = get_field('submit_submission_production_title');
        $field2 = get_field('submit_performance_space');
        $list[] = $title . ',' . $field1 . ',' . $field2;

        // IF ENCLOSING DOUBLE QUOTES ARE NEEDED
        // $list[] = '"' . $title . '","' . $field1 . '","' . $field2 . '"';
    }
}
于 2013-01-15T19:16:06.967 回答