wordpress显示图片标题,如果可能,但仅限于帖子页面

时间:2013-04-17 15:31:52

标签: image wordpress caption

我正在尝试创建一个函数,我可以将其放入我的functions.php中,该函数控制放置在每个帖子页面上的图像。我希望任何带有标题的图像都能在带有段落标记的图像下显示该标题。

1 个答案:

答案 0 :(得分:0)

试试这个:

function img_caption_only_in_posts( $current_html, $attr, $content ) {
global $post;
    extract(shortcode_atts(array(
        'id'    => '',
        'align' => 'alignnone',
        'width' => '',
        'caption' => ''
    ), $attr));
    if ( 1 > (int) $width || empty($caption) )
        return $content;

    if ($post->post_type=='page')
     $caption="";

    if ( $id ) $id = 'id="' . esc_attr($id) . '" ';

    return '<div ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">'
. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
}
add_filter( 'img_caption_shortcode', 'img_caption_only_in_posts',10,3 );

我从this answer借用了代码,并添加了用于检查帖子是否为网页的代码。