拉入带有短码的摘录

时间:2015-09-02 作者:Christy Eller

我和一个plugin 这提供了一个只有几个参数的短代码。我正在使用[list-shows] 短代码。我还想摘录一下内容。

我能够将缩略图添加到输出中,但无法添加内容,这似乎是atts 其他短代码的show_desc. 你可以在这个屏幕上看到输出page

这是短代码的代码。为我的无知道歉。学习曲线。

/* 
 * Shortcode for displaying a list of all shows * Since 2.0.0 
 */
function station_shortcode_list_shows($atts) {
    extract(shortcode_atts(array(
        \'genre\' => \'\',
        \'show_desc\' => 1
                    ), $atts));

    //grab the published shows
    $args = array(
        \'numberposts\' => -1,
        \'offset\' => 0,
        \'orderby\' => \'title\',
        \'order\' => \'ASC\',
        \'post_type\' => \'show\',
        \'post_status\' => \'publish\',
        \'meta_query\' => array(
            array(
                \'key\' => \'show_active\',
                \'value\' => \'on\',
            )
        )
    );

    if ($genre != \'\') {
        $args[\'genres\'] = $genre;
    }

    $shows = get_posts($args);

    //if there are no shows saved, return nothing
    if (!$shows) {
        return false;
    }

    $output = \'\';

    $output .= \'<div id="station-show-list">\';
    $output .= \'<ul>\';
    foreach ($shows as $show) {


        $output .= \'<li>\' . get_the_post_thumbnail($show->ID, \'thumbnail\') . \'<a href="\' . get_permalink($show->ID) . \'">\' . get_the_title($show->ID) . \'</a></li>\';

        $output .= \'</li>\';
    }
    $output .= \'</ul>\';
    $output .= \'</div>\';
    return $output;
}

1 个回复
SO网友:Z. Zlatev

如果你看看[dj-widget] 处理短代码后,您将了解如何实现插件作者显示帖子描述的想法。

            if($show_desc) {
                $desc_string = station_shorten_string(strip_tags($show->post_content), 20);
                $output .= \'<span class="on-air-show-desc">\'.$desc_string.\'</span>\';
            }
将此插入$output .= \'<li>...\'$output .= \'</li>\';

请注意:可能有更好的方法来显示实际的帖子摘录,而不是尝试根据帖子内容生成一个。更多here.

相关推荐

Custom post type shortcode

我创建了一个自定义的帖子类型快捷码作为滑块。我的滑块图像在背景图像中显示为特色图像。但我的幻灯片中没有显示特色图像。这是我的代码:<?php add_shortcode( \'slickslider\', \'slider_shortcodes_post_type\' ); function slider_shortcodes_post_type(){ $args = array( \'post_type\' => \'slid