对库中的图像列表进行编号

时间:2012-11-30 作者:busyjax

在使用gallery快捷码在帖子中添加图像时,我想显示一个图像编号作为图像标题,例如,如果gallery中有3个图像显示为列表,则每个图像上方都应该有一个序列号。

显示为enter image description here

我可以在之后使用内联css进行设置。我试了很多media.php, 但没有成功。

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

在库短代码处理程序和输出之间设置自定义函数。抓住img 元素并添加静态计数器。然后将gallery输出返回到WordPress。

示例代码:

add_action( \'after_setup_theme\', \'wpse_74492_replace_gallery_shortcode\' );

/**
 * Replace the default shortcode handlers.
 *
 * @return void
 */
function wpse_74492_replace_gallery_shortcode()
{
    remove_shortcode( \'gallery\' );
    add_shortcode( \'gallery\', \'wpse_74492_gallery_shortcode\' );
}

function wpse_74492_gallery_shortcode( $attr )
{
    // Let WordPress create the regular gallery …
    $gallery = gallery_shortcode( $attr );

    $gallery = preg_replace_callback( \'~<img~\', \'wpse_74492_gallery_callback\', $gallery );

    return $gallery;
}

function wpse_74492_gallery_callback( $matches )
{
    static $count = 0;
    $count += 1;

    return "<span class=\'gallery-number\'>$count</span>" . $matches[0];
}
这将插入<span class=\'gallery-number\'>1</span> 进入链接。您可以通过以下方式在CSS中定位它:

.gallery-number 
{
    position: absolute;
    left:0;
    top: 1em;
}

结束

相关推荐

call shortcode in javascript

加载DOM后,我想通过jquery显示一个短代码:这就是我如何称呼短代码:<?php echo do_shortcode(\'[plugin]\'); ?>现在,我的问题是如何在jquery函数中调用该短代码,因为我的网站是基于jquery/ajax调用的?谢谢