Metabox(短码)每行的输出列表

时间:2013-07-24 作者:artist learning to code

嘿,我的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”;数组";。

有什么想法吗?

1 个回复
最合适的回答,由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;
希望有帮助!

结束