我的短代码有问题,它应该出现在post div中,而是显示在页面内容的末尾(在页面底部)。 这是代码:
add_shortcode('registru', "show_registru");
function show_registru()
{
global $wpdb;
$list_inregistrari = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'wprc_ong_casa ORDER BY data_inregistrare ASC');
$sold_init = $wpdb->get_var('SELECT valoare FROM ' . $wpdb->prefix . 'wprc_solduri LIMIT 1');
ob_start();
print_table($list_inregistrari, $sold_init);
return ob_get_clean();
}
如果我尝试使用 ob_get_content()而不是 ob_get_clean(),那么表格将在后期div中显示两次,在页面底部显示一次
我也试过这样做(它仍然在页面的底部):
ob_start();
print_table($list_inregistrari, $sold_init);
$return = ob_get_contents();
ob_clean();
return $return;
* print_table 函数只是回显了一些HTML代码,所以我也尝试将所有带有HTML代码的字符串放到一个变量中然后返回它,但仍然没有。
答案 0 :(得分:1)
知道了!所以问题是print_table
中的元素缺少结尾</table>
标记。
尝试使用此功能(注意第2行到最后一行):
</tr>
<?php
endforeach;
front_table_footer($total_incasari, $total_plati, $sold_init);
echo '</table>'; // needs a closing tag
}