这个是因为前几天看见某个主题不用插件就集成了这样的效果,于是也想折腾折腾,因为总是觉得Auto Highslide有些不是很好,就动手起来弄了,本地修改了一会就好了,但是昨天弄到服务器上的就老是不对劲,获得的主题的目录进入不正确,想来想去是不函数弄错了?但是还是不行。。。然后又去查函数的使用。 :ohnoes:
然后今天忽然想到,我可以查下这个地址是怎么得出来的不就行了,因为之前有写过怎样获得queries。但是还没当我去查,我忽然想到一个问题,我装了有个插件是会把js和css合并起来的,记得以前也出错,会不会是这个问题。(昨天也想把插件一个一个卸载了试的,还是没有去做,插件太多了累的。。。)。 :angel:哈哈,一卸载插件就成功了~~~
下面贴出来方法:这个是从某个主题里copy出来的,如果感觉有侵犯版权什么的话和我联系。。。
////////////////////////////////////////////////////////////
//////////////START wp highslide picture code /////////////
$options['highslide'] = true;
if($options['highslide']) :
add_filter('the_content', 'hlHighSlide_replace', '99');
add_action('get_header', 'highslide_head');function highslide_head()
{
$hlHighslide_wp_url=get_bloginfo('template_url').'/';
$defaults_javascript =
"\n\t<link href='{$hlHighslide_wp_url}highslide.css' rel='stylesheet' type='text/css' />
<!--[if IE 6]>
<link href='{$hlHighslide_wp_url}highslide-ie6.css' rel='stylesheet' type='text/css' />
<![endif]-->
<script type='text/javascript' src='{$hlHighslide_wp_url}highslide.js'></script>
<script type='text/javascript'>
hs.showCredits = false;
hs.graphicsDir = '{$hlHighslide_wp_url}graphics/';
hs.wrapperClassName = 'wide-border';
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.fadeInOut = true;
hs.dimmingOpacity = 0.3;
//hs.padToMinWidth = true;
if (hs.addSlideshow) hs.addSlideshow({
interval: 5000,
repeat: false,
useControls: true,
fixedControls: 'fit',
overlayOptions: {
opacity: .6,
position: 'bottom center',
hideOnMouseOut: true
}
});
hs.lang={
loadingText : '图片加载中...',
loadingTitle : '正在加载图片',
closeText : '关闭',
closeTitle : '关闭 (Esc)',
moveTitle : '移动图片',
moveText : '移动',
restoreTitle : '点击可关闭或拖动',
fullExpandTitle : '点击查看原图',
fullExpandText : '查看原图'
};
hs.registerOverlay({
html: '<div class=\"closebutton\" onclick=\"return hs.close(this)\" title=\"Close\"></div>',
position: 'top right',
fade: 2 // fading the semi-transparent overlay looks bad in IE
});
hs.Expander.prototype.onMouseOut = function (sender) {
sender.close();
};
hs.Expander.prototype.onAfterExpand = function (sender) {
if (!sender.mouseIsOver) sender.close();
}
</script>";
echo $defaults_javascript;
}
//add onclick event
function add_onclick_replace ($content)
{
$pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
$replacement = '<a$1href=$2$3.$4$5 onclick="return hs.expand(this)" $6>$7 </a>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
function hlHighSlide_replace($content)
{
global $post;
$defaults = array();
$defaults['quicktags'] = 'y';
$defaults['alt'] = 'Enter ALT Tag Description';
$defaults['title'] = 'Enter Caption Text';
$defaults['thumbid'] = 'thumb1';
$defaults['show_caption'] = 'y';
$defaults['show_close'] = 'y';
$content=add_onclick_replace($content);
$HSVars = array("SRC", "ALT", "TITLE", "WIDTH", "HEIGHT","THUMBID");
$HSVals = array($defaults['href'], $defaults['src'], $defaults['alt'], $defaults['title'], $defaults['thumbid']);
preg_match_all ('!<img([^>]*)[ ]*[/]{1}>!i', $content, $matches);
$HSStrings = $matches[0];
$HSAttributes = $matches[1];
for ($i = 0; $i < count($HSAttributes); $i++)
{ preg_match_all('!(src|alt|title|width|height|class)="([^"]*)"!i',$HSAttributes[$i],$matches);
$HSSetVars = $HSSetVals = array();
for ($j = 0; $j < count($matches[1]); $j++)
{ $HSSetVars[$j] = strtoupper($matches[1][$j]);
$HSSetVals[$j] = $matches[2][$j];}
}
$HSClose = <<<EOT
<a href="#" onclick="hs.close(this);return false;" title="关闭">Close</a>
EOT;
$HSCaption = <<<EOT
<div class='highslide-caption' id='caption-for-%THUMBID%'>
{$HSPrvNextLinks}
{$HSClose}
<div style="clear:both">%TITLE%</div>
</div>
EOT;
$HSCode = <<<EOT
<img id="%THUMBID%" src="%SRC%" alt="%ALT%" title="%TITLE%" width="%WIDTH%" height="%HEIGHT%" />{$HSCaption}
EOT;
$content = str_replace($HSStrings[$i], $HSCode, $content);
return $content;
}
endif;
////////END wp highslide picture code////////////////////////
////////////////////////////////////////////////////////////////
上面的第三第四行记得对应着主题修改,比如我的是get_header也许你的是the_header,反正大概就是这样修改下就ok了。
代码算了,不要复制上面的了,下面的打包的里有提供,中英文标点麻烦的。。。
还有的就是一些文件,下载下来直接丢进主题的文件夹下:
效果就请看我网站的吧。。。哈哈哈,如果还有什么问题的欢迎多多交流 :tongue:
嗯,代码是可以实现的。但是不足之处在于,会在全部页面都插入auto-highslide效果的代码。其实我只要在single页面和page插入代码就可以了,其他的页面就没必要了。
这个有用 不错啊
发我邮箱把 我实在是...谢谢了
http://www.ylsnuha.com/disk/ 这个页面 之前貌似没拉进去 不好意思
依旧无法下载啊
在disk那个页面有~~~
文件不存在
~~好像是下载有点不稳定 ==放别的地方去
搞定了,谢谢楼主的指导
我主题下面有一个header.php文件,是修改这个吗?修改的时候是直接把代码贴在后面是不是?
感谢你的分享,辛苦了!
好到是不错, 可惜的是, 貌似和我模版不兼容 用了变形了 - - :naughty:
。。。怎么可能 什么主题
hot news pro,,, :gasp:
你的代码有问题, :gasp:
不是吧 有什么问题 我还是用的好好的~
真的有问题, 符号的大小写问题, 是要一个一个把大写的"改成小写的才行, 而且有的无法匹配.
。。。是复制上来的时候的错误吧 wp就会自动改这种 烦的很
求打包代码下载. :sarcastic:
好吧。。。我去重新打包下
哈哈。 多谢多谢。 :angel:
蛋疼了. 我换上去之后, 并未发现有效果. - - :angry:
抱歉, 我的问题, 改成 get_header就好了, 文章内没获取到, 现在好了, 麻烦您了 :tongue:
呵呵 能用就好 效果蛮好的吧
上面的代码放在哪里, - - 是不是function里? :lovely:
对的对待 呵呵 很好用的哦~ :crazy:
我懂的, 哈哈, 把我的插件换了去
懂了,改名成RAR了,谢谢!
可是你提供的是PNG文件啊?
哪提供png了?。。。下下来应该是个zip的压缩包啊
请问代码放在哪个文件里啊?还是要新建文件?
就直接解压后把里面的一个文件夹和3个文件放在主题文件夹下
学习了~ :nerd: 呐放张图片来看看效果嘛!
很多图都有效果的嘛 哈哈哈