我想为我的图库动态生成短代码。对于单个库,使用
add_shortcode( \'image-gallery\', \'gallery\' )
现在我的问题是如何为多个库创建多个短代码?与gallery 1类似,短代码为image-gallery-1,短代码为image-gallery-2。我试过这种方法
$all_gallery = $wpdb->prefix . \'gallery\';
$all=$wpdb->get_results("select * from $all_gallery");
if(count($all)>0){
foreach ($all as $a){
add_shortcode( \'image-gallery-\'.$a->id, \'gallery\' );
}
}
它工作得很好,但当我停用插件,然后再次激活插件时,发生了致命错误,插件无法激活。
SO网友:Jamie
我不能评论,如果可以的话我会的,但我不能,请不要否决投票
您是否可以将一个短代码与一个参数一起使用,例如,而不是为每个库创建一个短代码image-gallery-1
,image-gallery-2
等等,您可以将ID用作参数:image-gallery 1
, image-gallery 2
...
然后在处理函数中,您可以简单地测试参数,看看它是哪个库,我认为这种方法在性能方面也稍微好一些,因为您不需要调用add_shortcode
同样多次,您所做的只是删除一个连字符:)