经过大约3天的搜索和修补,我被卡住了。我不是一个程序员,但我喜欢尝试。
我有一个简短的代码,可以从WordPress数据库中的一个表中获取星座图(我创建了这个表)。然而,我后来发现,短代码不允许“echo”或“print”显示正确的输出。它没有出现在我放置短代码的页面上,而是出现在页面的顶部,因为短代码是在前面执行的。
我只是不知道如何将$结果输出到网页。
这是简短的代码和PHP:
function fl_aries_co_today_shortcode() {
global $wpdb;
$results = $wpdb->get_results("SELECT horoscope FROM wpaa_scope_co WHERE date = CURDATE() AND sign = \'aries\'");
foreach($results as $r) {
echo "<p>".$r->horoscope."</p>";
}
}
add_shortcode( \'fl_aries_co_today\',\'fl_aries_co_today_shortcode\' );
Echo在短代码内不工作。如何让占星术以文本形式显示在页面上?
(我知道我可以学习使用模板页面,但短代码选项非常快速和方便。)
最合适的回答,由SO网友:Pascal Knecht 整理而成
您还可以使用输出缓冲来捕获生成的所有输出。使用方法如下:
function fl_aries_co_today_shortcode() {
global $wpdb;
$results = $wpdb->get_results("SELECT horoscope FROM wpaa_scope_co WHERE date = CURDATE() AND sign = \'aries\'");
ob_start();
foreach($results as $r) {
echo "".$r->horoscope."
";
}
$content = ob_get_contents();
ob_end_clean();
return $content;
}
add_shortcode( \'fl_aries_co_today\',\'fl_aries_co_today_shortcode\' );