如何获取wordpress图库图像的元属性(标题,alt,...)?

时间:2017-04-17 08:37:18

标签: php wordpress attributes gallery

我已经使用此函数将默认的wordpress厨房主题格式化为我的bootstrap主题并且工作正常。但是当我称之为“image_alt”和“image_title”时没有成功。

请帮忙吗?谢谢!

add_filter( 'post_gallery', 'bootstrap_gallery', 10, 3 );

function bootstrap_gallery( $output = '', $atts, $instance )
{
    $atts = array_merge(array('columns' => 3), $atts);

    $columns = $atts['columns'];
    $images = explode(',', $atts['ids']);

    $col_class = 'img-box col-sm-4 col-xs-6 col-xxs-12 no-padding wow flipInX animated'; // default 3 columns
    if ($columns == 1) { $col_class = 'img-box col-xs-12 no-padding wow flipInX animated';}
    else if ($columns == 2) { $col_class = 'img-box col-xs-6 col-xxs-12 no-padding wow flipInX animated'; }
    // other column counts

    $return = '<div class="row gallery">';

    $i = 0;

    foreach ($images as $key => $value) {

        if ($i%$columns == 0 && $i > 0) {
            $return .= '</div><div class="row gallery portfolio center">';
        }

        $image_attributes = wp_get_attachment_image_src($value, 'full');
        $image_alt = get_post_meta( $image->id, '_wp_attachment_image_alt', true);
        $image_title = $attachment->post_title;

        $return .= '
            <div class="'.$col_class.' img-box col-sm-4 col-xs-12 no-padding wow flipInX animated">
                <a data-gallery="gallery" href="'.$image_attributes[0].'">
                    <img src="'.$image_attributes[0].'" alt="'.$image_alt.'" class="img-responsive">
                </a>
                <div class="title">'.$image_title.'</div>
            </div>';

        $i++;
    }

    $return .= '</div>';

    return $return;
}

1 个答案:

答案 0 :(得分:1)

首先获取图片ID,试试这个

$image_id = get_post_thumbnail_id(get_the_ID());
or
$image_id = get_post($id);

然后你可以传递id来获取图像alt和图像标题。

$image_alt = get_post_meta($image_id, '_wp_attachment_image_alt', true);
$image_title = $image_id->post_title;