包括短代码的摘录

时间:2015-09-09 18:41:32

标签: wordpress wordpress-plugin shortcode

使用只提供几个参数的短代码插件。 https://wordpress.org/plugins/radio-station我正在使用[list-shows]短代码。我想提取内容的摘录,我想这将适用于很多情况并提高我对短代码的理解。

我能够将缩略图添加到输出中,但不能添加内容,这似乎在其他短代码中称为“show_desc”。您可以在此页面上看到输出:http://www.kzmuradio.org/kzmu-programs/

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

/* 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 个答案:

答案 0 :(得分:0)

您可以通过foreach循环中的$ show访问所有数据。要查看它们包含的内容,可以使用print_r():

print_r( $show );

对于摘录和内容,您可以使用:

echo $show->post_excerpt;
echo wpautop( $show->post_content );

另请参阅:https://codex.wordpress.org/Function_Reference/$post