如何更改图库快捷代码的输出

时间:2013-03-27 作者:Alex Maiburg

我想add the media description as a data-attribute 到画廊的每个图像。所有其他答案都支持从媒体复制整个代码的解决方案。php到函数。php并在那里进行更改。但难道没有更聪明的方法吗?

真是太多了code duplication 为了更改一行代码!

1 个回复
SO网友:Alex Maiburg

如果有人感兴趣:我设法使用以下过滤器将数据属性添加到文章缩略图中:

function post_thumbnail_add_data_attribute( $input, $post_image_id ) {
  $caption = wptexturize(get_post(get_post_thumbnail_id())->post_excerpt);
  $substitute = is_home() ? "<img" : "<img data-description=\\"" . $caption . "\\"";

  return str_replace("<img", $substitute, $input);
}

add_filter(\'post_thumbnail_html\', \'post_thumbnail_add_data_attribute\', 10, 3 );
对于gallery,我按照建议删除gallery短代码。。。

remove_shortcode(\'gallery\');
然后向这些功能中添加自定义的库功能。php。。。

add_shortcode(\'gallery\', \'my_gallery\');
其中包含微小的自定义项。。。

// Add the caption of images in a gallery as the name attribute in order to fetch it with jQuery lightbox
$output = str_replace(\'<img\', \'<img data-description="\' . wptexturize($attachment->post_excerpt) . \'"\', $output);

结束

相关推荐

Paginate Gallery

我正在使用默认的WordPress Gallery(以及Cleaner Gallery插件)来显示一些图像。画廊似乎没有的一件事是分页。我想做的是在6张图片之后添加上一个和下一个链接来浏览页面。话虽如此,有几个插件声称添加了此功能,但它们都是在没有新媒体库的情况下开发的,而新媒体库是WordPress 3.5的标准配置。我不想改变用户的体验。。。我只是想通过函数添加功能。php或循环本身。我可以将同样的东西应用到所有的库中,因此如果修复程序能够以某种方式找到库的短代码,那就太棒了!不知道该怎么做,只是在这