更新:
似乎存在一个属性
link="none"
毕竟;-)
例如:
[gallery link="none" ids="165,166,167"]
因此,我们不需要像我之前的回答那样重新发明轮子;-)
上一个:要处理的插件link="no"
在gallery短代码中:
这里有一个演示插件,可以添加删除gallery中图像链接的选项。
您可以使用link="no"
删除链接的选项,例如:
[gallery link="no" ids="165,166,167"]
创建文件夹
/wp-content/plugins/gallery-without-links/
并添加文件
gallery-without-links.php
,包含以下代码:
<?php
/**
* Plugin Name: Gallery without links
* Plugin URI: http://wordpress.stackexchange.com/a/130349/26350
* Description: Gallery with the link=\'no\' option to remove links.
*/
/**
* Init the WPSE_No_Gallery_Links class
*/
if( ! class_exists( \'WPSE_No_Gallery_Links\' ) ):
add_action( \'init\', array( \'WPSE_No_Gallery_Links\', \'get_instance\' ) );
class WPSE_No_Gallery_Links
{
static private $instance = NULL;
protected $nrofimgs = 0;
protected $counter = 0;
public function __construct()
{
add_filter( \'shortcode_atts_gallery\', array( $this, \'shortcode_atts_gallery\' ) );
}
static public function get_instance()
{
if ( NULL === self :: $instance )
self :: $instance = new self;
return self :: $instance;
}
public function wp_get_attachment_link( $link ){
$this->counter++;
if( $this->counter >= $this->nrofimgs )
{
$this->counter = 0;
remove_action( \'wp_get_attachment_link\', array( $this, \'wp_get_attachment_link\' ) );
}
return strip_tags( $link, \'<img>\' );
}
public function shortcode_atts_gallery( $atts ) {
if( \'no\' === $atts[\'link\'] )
{
if( isset( $atts[\'include\'] ) )
{
$this->nrofimgs = count( explode( \',\', $atts[\'include\'] ) );
add_action( \'wp_get_attachment_link\', array( $this, \'wp_get_attachment_link\' ) );
}
}
return $atts;
}
} // end of class
endif;
上一个答案:这里有一个想法:
库快捷码回调正在使用wp_get_attachment_link()
函数生成指向库中每个图像的链接。因此,我们可以使用wp_get_attachment_link
过滤以去除<a>
标签。
然后,您可以将代码段修改为:
<div class="well well-clear" style="padding-bottom: 0; margin-bottom: 0;">
<?php
add_action( \'wp_get_attachment_link\', \'custom_wp_get_attachment_link\' );
echo do_shortcode(\'[gallery ids="165,166,167"]\');
remove_action( \'wp_get_attachment_link\', \'custom_wp_get_attachment_link\' );
?>
</div>
其中:
/**
* Strip all tags except the <img> tag
*/
function custom_wp_get_attachment_link( $link )
{
return strip_tags( $link, \'<img>\' );
}