从库中获取标题属性

时间:2015-02-09 作者:TheBird956

我设法使用get_post_gallery() 我在“编辑库”窗口中为每一个输入了描述。

我试过使用get_image_tag() 从包括标题在内的所有图像中获取属性。问题是它显示了所有属性,而我只需要title属性。

此外,它在每个标题属性中始终显示“1”。

我的php代码:

$gallery = get_post_gallery(7, false );
$imageIds = explode(\',\', $gallery[\'ids\']);

// THE VALUES ARE HIGH TO AVOID THE EMPTY OUTPUT THAT OCCUR FOR SOME REASON
$randIds = array_rand($imageIds, 20);
for($i = 15; $i < 20; $i++)
{
    $image = wp_get_attachment_image_src($randIds[$i], \'large\');
    $line = \'<li><img src="\';
    $line .= $image[0];
    $line .= \'" title="\';
    //$line .= 
    $line .= \'"/></li>\';
    echo $line;
    echo "GET_IMAGE_TAG";
    echo get_image_tag($randIds[$i], false, true, false);
}
下面是我为每个迭代的HTML输出:

<li><img src="http://mywebsite.com/wp-content/uploads/2014/12/PA107885-768x1024.jpg" title=""/></li>
GET_IMAGE_TAG
<img src="http://mywebsite.com/wp-content/uploads/2014/12/PA107885-225x300.jpg" alt="" title="1" width="225" height="300" class="align size-medium wp-image-32" />
如何只获取title属性而不必放弃所有代码?

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

WordPress实际上为附件使用内置的Post类型(称为attachment ) 因此,您可以使用以下相同的函数get_the_title() 这就是你要找的。尽管如此,我还是在下面修改了您的代码,使用了foreach 而不是for 回路:

$gallery = get_post_gallery( 7, false );    // Attempt to get Post Gallery

if( ! empty( $gallery ) ) {                 // IF Gallery Exists, proceed
    $imageIds = explode( \',\', $gallery[\'ids\'] );    // Get an array of Gallery IDs
    $randIds  = array_rand( $imageIds, 20 );        // Randomize array

    foreach( $randIds as $imageId ) {               // Foreach instead of For, just easier
        $image = wp_get_attachment_image_src( $imageId, \'large\' );
        echo \'<li><img src="\' . $image[0] . \'" title="\' . get_the_title( $imageId ) . \'" /></li>\';
    }
}

结束

相关推荐

我的插件中的Content-Single.php

我在我的插件中实现了这个钩子来更改自定义帖子类型的单个模板(我不希望它在子主题中,只在我的插件中),它工作得很好。现在我想实现单内容。php在我的插件中。如何做到这一点?这是在插件中实现自定义模板的代码://Template fallback function get_custom_post_type_template($single_template) { global $post; if ($post->post_type == \'my-custom-p