EMLOG侧边栏判断仅首页显示友情链接

    选择打赏方式

正常来说,现在的各种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] 联系我们!
正文到此结束

热门推荐