嘿,我的metabox中有一个textarea,我用一个短代码显示信息。我想将该元框中的数据作为列表输出(每一行都是一个列表项)。我使用了here 但对它做了一点修改,因为它给了我一个解析/语法错误。
我需要数组位于特定的div和p类中,并且没有分解和显示良好的代码(在metabox中编写html标记-我不想这样做,我只需要文本行来生成列表)
我的短代码是:
add_shortcode(\'cv\', \'vp_cv\');
function vp_cv($atts, $content=null) {
extract(shortcode_atts(array(
\'number\' => 6
), $atts));
$content = filter_shortcode($content);
global $post;
$output .= \'<div class="container">\';
$query = new WP_Query(\'post_type=resume&posts_per_page=\' . $number . \'&cat=\' . $categories);
while($query->have_posts() ) : $query->the_post();
$title = get_the_title();
$projects = get_post_meta($post->ID, \'resume_projects\', true);
if($projects){
$projects = explode("\\n", $projects);}
?>
<ol>
<?php for($i = 0;
$i<sizeof($project);
$i++){ ?>
<li> <?php echo $project[$i]; ?></li>
<?php } ?>
</ol>
输出为:
<?php
$output .= \'<div class="one-third">\';
$output .= \'<p class="cv-title">\' . $title . \'</p>\';
$output .= \'<p class="cv-projects">\' . $projects . \'</p></div>\';
endwhile;
$output .= \'</div>
<div class="clearboth"></div>\';
return $output;
}
标题显示ok,但$projects给了我一个字面上的“ok”;数组";。
有什么想法吗?
最合适的回答,由SO网友:iEmanuele 整理而成
“for”循环中缺少$输出,错误的$项目名称。
add_shortcode( \'cv\', \'vp_cv\' );
function vp_cv( $atts, $content = null ) {
//.....
while( $query->have_posts() ) : $query->the_post();
$title = get_the_title();
$projects = get_post_meta($post->ID, \'resume_projects\', true);
if( $projects ) $projects = explode("\\n", $projects);
$output .= \'<p class="cv-title">\' . $title . \'</p>\';
$output .= \'<p class="cv-projects">\';
$output .= \'<ol>\';
for( $i = 0; $i < sizeof( $projects ); $i++ ) {
$output .= \'<li>\' . $projects[$i] .\'</li>\';
}
$output .= "</ol>";
$output .= "</p>";
//.....
return $output;
希望有帮助!