很接近,但我对php一无所知。希望能够从wordpress图库中提取列。删除默认库的本质可能使这不可能。我认为秘密在于%s,也许我可以在sprintf中用这些%d中的另一个附加列计数。(显然,不知道我在做什么:)
function modified_gallery_shortcode( $attr ) {
$attr[\'link\'] = "file";
$attr[\'itemtag\'] = "";
$attr[\'icontag\'] = "";
$attr[\'captiontag\'] = "p";
$output = gallery_shortcode( $attr );
$output = strip_tags( $output, \'<a><img><li><p>\' );
$from = array(
"class=\'gallery-item\'",
"class=\'gallery-icon landscape\'",
"a href=",
// "class=\'wp-caption-text gallery-caption\'"
);
$to = array(
"",
"",
"a itemprop=\\"contentUrl\\" rel=\\"group\\" href=",
"",
);
$output = str_replace( $from, $to, $output);
$output = sprintf( \'<div class="gallery gallery-columns-{$columns} " itemprop="image" itemscope itemtype="http://schema.org/ImageGallery">%s</div>\', $output );
return $output;
}
最合适的回答,由SO网友:frogg3862 整理而成
Sprintf是一种在字符串中轻松使用变量的方法。%d
指定数字和%s
是任意字符串。
这样想吧
sprintf( \'<div class="%s">%s</div>\', $var1, $var2 );
因此,对于您的示例,您需要以下内容:
$output = sprintf( \'<div class="gallery gallery-columns-%s" itemprop="image" itemscope itemtype="http://schema.org/ImageGallery">%s</div>\', $columns, $output );
从你的代码中我唯一看不到的是
$columns
获取定义的。