如何按索引获取帖子图片标题

时间:2020-11-19 作者:Yotam

我在WordPress帖子中有多张图片,每张图片都有不同的标题。我想通过图像索引获取图像标题,但我不知道如何打印标题。

以下是我尝试过的:

//$index - index of the image (if index is 0, its first image)
function getImageCaption($postID, $index){
    $post_id = $postID;
    // get the post object
    $post = get_post( $post_id );
    // get the post thumbnail ID
    $thumbnail_id = get_post_thumbnail_id($post->ID);
    // we need just the content
    $thumbnail_image = get_posts(array(\'p\' => $thumbnail_id, \'post_type\' => \'attachment\'));

    if ($thumbnail_image && isset($thumbnail_image[$index])) {
        return $thumbnail_image[$index]->post_excerpt;
    } else {
        return;
    }
}
如何按索引显示图像标题?

1 个回复
SO网友:Yotam

我使用函数提取了figcaption标签中的数据,$position代表当前图像的索引。

  function getImageCaption($postID, $position){
        $post_id = $postID;
        // get the post object
        $post = get_post( $post_id );
        // we need just the content
        $content = $post->post_content;
        // we need a expression to match things
        $regex = \'/<figcaption>(.*)<\\/figcaption>/\';
        // we want all matches
        preg_match_all( $regex, $content, $matches );
        // reversing the matches array
        $matches = array_reverse($matches);
        // we\'ve reversed the array, so index 0 returns the result
        foreach ($matches as $key => $value) {
            return $value[$position];
        }
    }

相关推荐

如何检查页面模板是否在函数中。php

所以我有一个网站,有多个联系人表单7。一个功能由wpcf7_before_send_mail 钩此函数只能用于一个表单。指定的表单只在一个页面模板中使用,所以我提出了简单的解决方案-使用is_page_template 功能,但不起作用。那么,如何检查是否使用了页面模板。代码放在函数中。php。页面模板位于页面模板文件夹中。这是我的密码add_action( \'wpcf7_before_send_mail\', \'wpcf7_add_text_to_mail_body\' ); fu