我开始在wordpress中创建一个站点(因此没有php或html经验)。我想从mysql列生成文本列表到文本块中。
我为短代码制作了php代码,该代码在下面返回了一个数组,该数组现在在文本块中显示为“数组”,而不是字符串列表。
如果我只是打印这些值,它们将显示在页面的顶部。
我需要做/寻找的下一步是什么?我找不到它,因为我可能不知道正确的搜索词。我的猜测是关于HTML的。
<?php
function location_marker_shortcode( $atts ) {
$a = shortcode_atts( array(
'mapnumber' => 'world'
), $atts );
global $wpdb;
//select databases (the 84 part should be the input of the shortcode)
$marker_labels = $wpdb->get_col('SELECT label FROM wp_mapsvg_database_84');
foreach ( $marker_labels as $marker_label )
{
//print labels
echo $marker_label;
}
return $marker_labels;
}
//add shortcode to wordpress
add_shortcode( 'matthijs', 'location_marker_shortcode' );
?>
我现在有了这段代码,它为我提供了我想要的列表,但没有在我的简码所在的wordpress的“段落块”中列出。
<?php
function location_marker_shortcode( $atts ) {
$a = shortcode_atts( array(
'mapnumber' => 'world'
), $atts );
global $wpdb;
//select databases (the 84 part should be the input of the shortcode)
$marker_labels = $wpdb->get_col('SELECT label FROM wp_mapsvg_database_84');
foreach ( $marker_labels as $marker_label )
{
echo '<li>'. $marker_label.'</li>';
}
}
//add shortcode to wordpress
add_shortcode( 'matthijs', 'location_marker_shortcode' );
?>
答案 0 :(得分:2)
我不确定您要完成的目标100%,但是请尝试一下。在遍历它们时,您不想回显所有值。将所有内容连接到一个变量中,然后在短代码末尾返回整个字符串。这将生成一个无序列表。
<?php
function location_marker_shortcode( $atts ) {
$a = shortcode_atts( array(
'mapnumber' => 'world'
), $atts );
global $wpdb;
//select databases (the 84 part should be the input of the shortcode)
$marker_labels = $wpdb->get_col('SELECT label FROM wp_mapsvg_database_84');
$output = '<ul>';
foreach ( $marker_labels as $marker_label )
{
$output .= '<li>' . $marker_label . '</li>';
}
$output .= '</ul>';
return $ouput;
}
//add shortcode to wordpress
add_shortcode( 'matthijs', 'location_marker_shortcode' );
?>