EMLOG侧边栏判断仅首页显示友情链接
- A
正常来说,现在的各种emlog模板侧边栏基本上都是加载全部已添加的侧边栏,但是我想让友情链接一项只在首页出现,其他页面打开都是不加载的,只需要简单修改几行代码就能解决!
1.打开模板根目录下的module.php文件,添加如下代码(如果已经有了就不加):
<?php //判断是否是首页 function blog_tool_ishome(){if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){ return true; } else { return false;}}?>
注:如果你的模板有pjax无刷新加载功能,则需要改变一下(?_pjax=%23pjax_recho是我网站的pjax容器,请自行修改为你的):
<?php //判断是否是首页 function blog_tool_ishome(){if (str_replace("?_pjax=%23pjax_recho","",BLOG_URL . trim(Dispatcher::setPath(), '/')) == BLOG_URL){ return true; } else { return FALSE;}}?>
2.打开模板根目录下的side.php文件,找到该串代码:
if (function_exists($callback)) { preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs); $wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val]; call_user_func($callback, htmlspecialchars($wgTitle)); }
修改为:
if ($val === 'link') { if (blog_tool_ishome()) { if (function_exists($callback)) { preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs); $wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val]; call_user_func($callback, htmlspecialchars($wgTitle)); } } } else { if (function_exists($callback)) { preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs); $wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val]; call_user_func($callback, htmlspecialchars($wgTitle)); } }
到此,侧边栏判断仅首页显示友情链接功能就已经实现了,原理很简单:先判断当前加载的侧边栏组件是否为link友情链接组件,然后在执行首页判断函数,只有当是首页的时候才会继续下一步。
傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/141.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:[email protected] 联系我们!
版权声明:若无特殊注明,本文为《正文到此结束