我正在尝试扩展 WordPress 插件的功能以接受另一个参数,但我在确定输出时遇到了问题。我正在谈论的插件是 NextGen Gallery,我试图让它显示带有描述的图像幻灯片。
我用来在我的主题文件上显示幻灯片的代码是这样的:
<?php echo nggShow_JS_Slideshow(1,906,358,'caption'); ?>
下面是完整的功能:
function nggShow_JS_Slideshow($galleryID, $width, $height, $template = '', $class = 'ngg-slideshow') {
global $slideCounter;
$ngg_options = nggGallery::get_option('ngg_options');
// we need to know the current page id
$current_page = (get_the_ID() == false) ? rand(5, 15) : get_the_ID();
// look for a other slideshow instance
if ( !isset($slideCounter) ) $slideCounter = 1;
// create unique anchor
$anchor = 'ngg-slideshow-' . $galleryID . '-' . $current_page . '-' . $slideCounter++;
if (empty($width) ) $width = (int) $ngg_options['irWidth'];
if (empty($height)) $height = (int) $ngg_options['irHeight'];
//filter to resize images for mobile browser
list($width, $height) = apply_filters('ngg_slideshow_size', array( $width, $height ) );
$width = (int) $width;
$height = (int) $height;
$out = '<div id="' . $anchor . '" class="' . $class . '" style="height:' . $height . 'px;width:' . $width . 'px;">';
$out .= "\n". '<div id="' . $anchor . '-loader" class="ngg-slideshow-loader" style="height:' . $height . 'px;width:' . $width . 'px;">';
$out .= "\n". '<img src="'. NGGALLERY_URLPATH . 'images/loader.gif" alt="" />';
$out .= "\n". '</div>';
$out .= '</div>'."\n";
$out .= "\n".'<script type="text/javascript" defer="defer">';
$out .= "\n" . 'jQuery(document).ready(function(){ ' . "\n" . 'jQuery("#' . $anchor . '").nggSlideshow( {' .
'id: ' . $galleryID . ',' .
'fx:"' . $ngg_options['slideFx'] . '",' .
'width:' . $width . ',' .
'height:' . $height . ',' .
'template:' . $template . ',' .
'domain: "' . trailingslashit ( home_url() ) . '",' .
'timeout:' . $ngg_options['irRotatetime'] * 1000 .
'});' . "\n" . '});';
$out .= "\n".'</script>';
return $out;
}
问题是我添加到函数中的“模板”参数。由于某种原因它不起作用 - 幻灯片会永远加载。您可以在此处查看完整的 nggfunctions.php 文件。而网站是你可以看到这个现场是这个。我还应该提到 PHP 不是我的强项之一。
稍后编辑:有没有办法直接在函数中添加每个图像的描述而不通过'模板'参数传递它?