舍力博客是记录舍力学习和成长的自媒体博客;关注网站SEO技术及互联网发展,免费分享Emlog建站教程、Emlog模板、Emlog插件、SEO教程及SEO优化排名实战心得!
首页 关于本站 网站模板
代码教程
  • Emlog教程
  • 米拓教程
  • SEO优化教程
  • Ecshop教程
  • zblog教程
  • Excel技巧
  • 电脑软件教程
  • 互联网
  • 免费资源
  • 网络新闻
  • 留言咨询
  • 在线问答
  • 申请友链
  • 网址导航
  • 联系舍力
    舍力
    登录
    侧边栏壁纸
    博主头像
    舍力

    静以修身。

    • 累计撰写 1140 篇文章
    • 累计收到 3828 条评论
    • 首页
    • 栏目
      • 首页
      • 关于本站
      • 网站模板
      • 代码教程
        • Emlog教程
        • 米拓教程
        • SEO优化教程
        • Ecshop教程
        • zblog教程
        • Excel技巧
        • 电脑软件教程
      • 互联网
        • 免费资源
        • 网络新闻
      • 留言咨询
        • 在线问答
        • 申请友链
        • 网址导航
      • 联系舍力
    包含标签 【emlog】 的文章
    • Emlog手机版教程:获取文章对应的作者页面 2021-3-21
      Emlog手机版教程:获取文章对应的作者页面 $slauthor =  isset ($_GET) ? addslashes($_GET) : ''; if(!empty($slauthor)){ $sqlSegment = "and author=$slauthor order by date desc"; $sta_cache = $CACHE->readCache('sta'); $lognum = $Log_Model->getLogNum('n', $sqlSegment); $pageurl = "./?author=$slauthor&page="; $Log_Model = new Log_Model(); $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum); $page_url = pagination($lognum, $index_lognum, $page, $pageurl); }
      • 2021年3月21日
      • 11278 阅读
      • 3 评论
      Emlog教程
    • Emlog官方论坛宣布关闭 2021-2-28
      Emlog官方论坛宣布关闭 最近emlog站长那多记忆在自家论坛发帖告知,Emlog论坛由于流量上不去,未来几个月将彻底关闭,又一个站长论坛即将消失在互联网历史的长河中。 Emlog站长表示:随着现在玩建站的群体越来越少,Emlog论坛人流量逐渐式微,可以说Emlog官方论坛基本已经很久没人发帖了,逐渐失去一个论坛最基础的交流沟通的存在意义,所以,最后还是决定未来几个月彻底关闭Emlog官方论坛。 另外,虽然Emlog论坛关闭了,但是Emlog还在,目前正在搞pro版本,但是需要跟站长们言诉的是,跟PHPWind一样,走到此刻的大环境下每个站长都要直面现实,这次Emlog也要开启收费模式了,pro版本不会免费提供下载包了(当然如果你愿意折腾其实还是可以在github.上获得完全开源的Emlogpro版本代码自行安装)。 针对Emlog官方论坛宣布关闭,有网友留言表示,随着移动网络时代的到来,很多社区论坛基本接近淘汰,也就部分站长论坛和行业论坛还有点人气,而且对于Emlog的收费可以理解,而且也是支持的,未来一定是越来越多的开源程序走上商业化道路,这样才能长久发展。 不过在期待EmlogPro版的同时,还是希望Emlog站长可以把模板、插件的生态完善一下,哪怕先做3-5个最简单的主题模板供首批用户选择。
      • 2021年2月28日
      • 5503 阅读
      • 3 评论
      网络新闻
    • Emlog模板设置插件修改篇:实现标签标题、描述等均可自定义 2019-10-17
      Emlog模板设置插件修改篇:实现标签标题、描述等均可自定义 找到模板设置插件tpl_options.php文件中的case 'sort':开头至break;,在break;后面加入代码 case 'sytag': global $CACHE; $tag_cache = $CACHE->readCache('tags'); echo '<div class="option-sort-left"><select class="option-sort-select">'; foreach($tag_cache as $value){ echo sprintf('<option value="%s">%s</option>',$value,$value); } echo '</select></div>'; echo '<div class="option-sort-right">'; foreach ($tag_cache as $value) { $sid = $value; echo '<div class="option-sort-option option-sytag-option">'; if(!isset($option)){$option = $this->getOptionDefaultValue($option, $this->_currentTemplate);} if($loopValues){if($placeholder){echo sprintf('<input type="hidden" name="%s" value="">', $option . "");} foreach($option as $value => $label){echo strtr($tpl, array( '{name}' => $option . "", '{value}' => $this->encode($value), '{label}' => $label, '{checked}' => $this->getCheckedString($value, $option), )); } }else{ echo strtr($tpl, array( '{name}' => $option . "", '{value}' => $this->encode($option), '{label}' => '', '{path}' => $this->getImagePath($option), '{rich}' => $this->getRichString($option), )); } echo '</div>'; } echo '</div>'; break; 如果想好看点,加入css文件: /**舍力加入css开始**/ #tpl-options .depend-sytag{margin-left:0;clear: both;} .option-sytag-left{ float:left;} .option-sytag-right{float:left;} .option-sytag-option input{height:23px;} /**end**/ 使用方法(举例说明): 'tagtt' => array( 'type' => 'text', 'name' => '标签标题设置', 'values' => array('',), 'unsorted' => false, 'depend' => 'sytag', 'description' => '左侧选择标签,然后在输入框中输入标签标题。', ),
      • 2019年10月17日
      • 18128 阅读
      • 11 评论
      Emlog教程
    • Emlog手机版教程:获取搜索功能 2019-5-6
      Emlog手机版教程:获取搜索功能 Emlog手机版好像没有给予获取搜索的相关功能,反正也是无聊状态中,今天舍力就给大家详细的讲解一下此功能的实现方法,希望能够帮到有需要的朋友 相关阅读: 手机版获取文章分类教程分享:http://www.shuyong.net/iemlog/795.html 手机版获取文章标签教程分享:http://www.shuyong.net/iemlog/1086.html 首先,我们要在手机版模板的m文件夹的index.php中找到代码 $action = isset($_GET) ? addslashes($_GET) : ''; 在其下方加入代码 $slkey = isset($_GET) ? addslashes($_GET) : ''; 在代码 $page_url = pagination($lognum, $index_lognum, $page, $pageurl); 后面加入代码 if(!empty($slkey)){//搜索 $Log_Model = new Log_Model(); $page = isset($_GET) ? abs(intval ($_GET)) : 1; $site_title = '搜索关键词:'.$slkey.'价格表'; $pageurl = ''; if(is_numeric($slkey)){ $sqlSegment = "and (huohao ='{$slkey}') order by date desc";}else{ $sqlSegment = "and title like '%{$slkey}%' order by date desc";} $lognum = $Log_Model->getLogNum('n', $sqlSegment); $pageurl = "./?keyword=$slkey&page="; $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum); $page_url = pagination($lognum, $index_lognum, $page, $pageurl); } 调用方法: <form action="./" method="get" enctype="multipart/form-data" onSubmit="return slkeyword();"> <input name="keyword" placeholder="输入货号或者产品名称" /> <button type="submit"/>搜索</button> </form>
      • 2019年5月6日
      • 15164 阅读
      • 9 评论
      Emlog教程
    • emlog手机版教程:获取文章对应的标签 2019-5-6
      emlog手机版教程:获取文章对应的标签 前面舍力分享过手机版获取文章分类的教程,与本教程类似,下面进入今天的主题,Emlog手机版好像没有给予获取文章标签的相关功能,反正也是无聊状态中,今天舍力就给大家详细的讲解一下此功能的实现方法,希望能够帮到有需要的朋友 相关阅读: 手机版获取文章分类教程分享:http://www.shuyong.net/iemlog/795.html 手机版获取搜索功能教程分享:http://www.shuyong.net/iemlog/1087.html 首先,我们要在手机版模板的m文件夹的index.php中找到代码 $action = isset($_GET) ? addslashes($_GET) : ''; 在其下方加入代码 $sltag = isset ($_GET) ? intval ($_GET) : ''; 在代码 $page_url = pagination($lognum, $index_lognum, $page, $pageurl); 后面加入代码 if(!empty($sltag)){//标签 global $CACHE; $Tag_Model = new Tag_Model(); $page = isset($_GET) ? abs(intval ($_GET)) : 1; $blogIdStr = $Tag_Model->getTagById($sltag); $pageurl =''; $sqlSegment = "and gid IN ($blogIdStr) order by date desc"; $lognum = $Log_Model->getLogNum('n',$sqlSegment); $tagname = '标签ID为'.$sltag.'价格表';//暂时不知道怎么获取标签名称 $site_title = $tagname; $pageurl ="./?tagid=$sltag&page="; $logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum); $page_url = pagination($lognum, $index_lognum, $page, $pageurl); } 在m文件夹的index.php文件的最后面加入代码 <?php function mtags($blogid){ $Tag_Model = new Tag_Model(); $tag = $Tag_Model->getTag($blogid); echo '标签:'; foreach($tag as $v){ echo '<a href ="./?tagid='.$v.'">'.$v.'</a> '; }} ?> 前面代码都是放入手机版的index.php里面的。 调用方法:然后进入view文件夹,按自己需要选择添加位置,想显示在文章页面:打开single.php,把下面代码放到里面的适当位置即可, <?php mtags($logid);?> 想显示在文章列表里:打开log.php文件,在循环之内放入如下调用代码: <?php mtagst($value);?> 好了,搞定收工了,方法比较繁琐,请按教程一步一步来,教程都经过测试,5.3.1正常使用!
      • 2019年5月6日
      • 14272 阅读
      • 3 评论
      Emlog教程
    • Emlog调用指定多个一级分类下的所有文章,包含子分类文章 2019-1-7
      Emlog调用指定多个一级分类下的所有文章,包含子分类文章 最近做一款企业主题,需要调用指定多个一级分类下的所有文章,包含子分类文章。参考了分类页面的调用方式,现分享出来,代码如下: <?php $db = MySql::getInstance(); global $CACHE; $sort_cache = $CACHE->readCache('sort'); foreach(array(1,2,3) as $key => $i){ $sort = $sort_cache; if($sort != 0 || empty($sort)){ $slsortid = $i; }else{ $slsortids = array_merge(array($i),$sort); $slsortid = implode(',',$slsortids); } ?> <br />分类名称+链接:<a href="<?php echo Url::sort($i);?>" title="<?php echo $sort_cache;?>"><?php echo $sort_cache;?></a><br /> <?php foreach($Log_Model->getLogsForHome("and sortid IN ($slsortid) order by date desc",0,10) as $key=>$value){?> 文章标题+链接:<a href="<?php echo Url::log($value);?>" title="<?php echo $value;?>" target="_blank"><?php echo $value;?></a><br /> <?php }?> <?php }?> array(1,2,3)中的数字代表分类id,当不是一级分类时,只调用当前分类下的文章,当是一级分类时则调用当前一级分类下所有子分类的文章。 ,0,10中的10代表调用的文章数量,0不做任何修改,否则会出错。 效果图(css和图片调用自行添加即可): 演示站点:www.khqj.com.cn
      • 2019年1月7日
      • 13683 阅读
      • 3 评论
      Emlog教程
    • 给Emlog6.0.0正式版之后台增加多个侧边栏教程 2018-10-9
      给Emlog6.0.0正式版之后台增加多个侧边栏教程 emlog6.0.0的正式版本自发布以来,相对5.3.1版本少了很多功能,本教程就是舍力讲述后台侧边栏多个调用的代码。模板的使用教程请参考《Emlog模板调用多个侧边栏教程》,下面我具体教程: 打开后台模板文件(admin/views/widgets.php)找到代码 <form action="widgets.php?action=compages" method="post" class="form-inline"> 此处内容省略,对照源文件即可... </form> ,用下面代码代码替换即可(请先备份,以防万一) <form action="widgets.php?action=compages" method="post" class="form-inline"> <div class="panel-body"> <div class="panel-group adm_widget_box" id="sortable"> <?php if($tpl_sidenum > 1):?> <p><select id="wg_select"><?php for($i=1;$i<=$tpl_sidenum;$i++):if($i==$wgNum):?><option value="<?php echo $i;?>" selected>侧边栏<?php echo $i;?></option><?php else:?><option value="<?php echo $i;?>">侧边栏<?php echo $i;?></option><?php endif;endfor;?></select></p> <?php endif;?> <?php foreach ($widgets as $widget): $flg = strpos($widget, 'custom_wg_') === 0 ? true : false; //是否为自定义组件 $title = ($flg && isset($custom_widget)) ? $custom_widget : ''; //获取自定义组件标题 if($flg && empty($title)){ preg_match("/^custom_wg_(\d+)/", $widget, $matches); $title = '未命名组件('.$matches.')'; }?> <?php if($widgetTitle){?> <div class="panel panel-default active_widget" id="em_<?php echo $widget; ?>" style="cursor:move;"> <div class="panel-heading"> <input type="hidden" name="widgets" value="<?php echo $widget; ?>" /> <h4 class="panel-title"><?php if($flg){echo $title;}else{echo $widgetTitle;}?></h4> </div> </div> <?php }endforeach; ?> </div> </div> <input type="hidden" name="wgnum" id="wgnum" value="<?php echo $wgNum; ?>" /> <div style="margin:20px 40px;"><input type="submit" value="保存组件排序" class="btn btn-primary" /> <a href="javascript:em_confirm(0, 'reset_widget', '<?php echo LoginAuth::genToken(); ?>');" class="btn btn-danger" >恢复出厂设置</a></div> </form> 教程完毕!!!当模板支持多个侧边栏时,后台及可自行设置侧边栏,效果图如下: -=-增加随机文章的代码 <div id="random_log" class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href=".random_log" class="widget-title" aria-expanded="false">随机文章</a> <li class="widget-act-add"></li> <li class="widget-act-del"></li> </h4> </div> <div class="random_log panel-collapse collapse" aria-expanded="false"> <div class="panel-body"> <form action="widgets.php?action=setwg&wg=random_log" method="post" class="form-inline"> <li>标题</li> <li><input type="text" name="title" class="form-control" value="<?php echo $customWgTitle; ?>" /></li> <li>显示随机文章数</li> <li><input class="form-control" maxlength="5" size="10" value="<?php echo Option::get('index_randlognum'); ?>" name="index_randlognum" /> <input type="submit" name="" value="更改" class="btn btn-primary btn-sm" /></li> </form> </div> </div> </div>
      • 2018年10月9日
      • 16257 阅读
      • 12 评论
      Emlog教程
    • 让Emlog6.0.0版本支持模板设置插件的教程分享 2018-10-6
      让Emlog6.0.0版本支持模板设置插件的教程分享 emlog6.0.0正式版中使用官方模板设置时无法正常设置模板参数,下面的是教程详情: 第一步、首先找到路径/admin/views/template.php文件中代码 <?php if (!defined('EMLOG_ROOT')) {exit('error!');}?> 后面加入代码 <div id="containers"><?php doAction('adm_main_top'); ?> 第二步、找到代码替换模板设置插件(content/plugins/tpl_options/assets/main.js)的所有代码即可 $(function() { //初始化变量 var tplOptions = window.tplOptions; var body = $('body'); var iframe = $('<iframe name="upload-image" src="about:blank" style="display:none"/>').appendTo(body); var optionArea = $('<div/>').appendTo($('#containers')).addClass(attr('area')).slideUp(); var templateContent = $('.tpl:last, #container table'); var loadingDom = $('<div />').appendTo(body); var message = $('<div />').appendTo($('.tpl_msg:first')).css('position', 'fixed'); var timer, input, targetInput, target, templateInput, template; var trueInput = $('<input type="file" name="image">').css({ position: 'absolute', margin: 0, visibility: 'hidden' }).on('change', function() { loading(); target = input.data('target'); targetInput.val(target); templateInput.val(template); form.submit(); }).on('mouseleave', function() { trueInput.css('visibility', 'hidden'); input.css('visibility', 'visible'); }); var form = $('<form id="upload-form" target="upload-image" />').append( trueInput, targetInput = $('<input type="hidden" name="target">'), templateInput = $('<input type="hidden" name="template">') ).appendTo(body).attr({ action: tplOptions.uploadUrl, target: 'upload-image', enctype: 'multipart/form-data', method: 'post' }); //插入设置按钮 for (var tpl in tplOptions.templates) { (function(tpl) { var td = $('.active .act').parent(); $('<span>设置 </span>').insertBefore(td.find('a')).addClass(attr('setting')).data('template', tpl); })(tpl); } //当前模板 (function() { try { var c urrentTemplate = $('.theme_ntpls .theme-preview .screenshot img').attr('src').match(/\/templates\/(.*?)\/preview.jpg/); if (tplOptions.templates) { $('<br>').insertBefore($('<span><strong></strong></span>').appendTo($('.theme_ntpls .theme-info')).addClass(attr('setting')).data('template', currentTemplate)); } }catch(err) {} })(); //绑定事件 body.on('click', '.' + attr('setting'), function() { $.ajax({ url: tplOptions.baseUrl, data: { template: $(this).data('template') }, cache: false, beforeSend: function() { loading(); editorMap = {}; }, success: function(data) { templateContent.slideUp(500, function() { optionArea.html(data).slideDown(); window.setTimeout(function() { initOptionSort(); initRichText(); loading(false); }, 0); }); } }); }).on('click', '.tpl-options-close', function() { optionArea.slideUp(500, function() { templateContent.slideDown(); }); }).on('click', '.option-sort-name', function() { var that = $(this); if (that.is('.selected')) { return; } var left = that.parent(), right = left.siblings('.option-sort-right'); left.find('.selected').removeClass('selected'); that.addClass('selected'); right.find('.option-sort-option').removeClass('selected').eq(that.index()).addClass('selected'); }).on('change', '.option-sort-select', function() { var that = $(this); var right = that.parent().siblings('.option-sort-right'); right.find('.option-sort-option').removeClass('selected').eq(that.find('option:selected').index()).addClass('selected'); }).on('mouseenter', '.tpl-options-form input', function() { input = $(this); trueInput.css(input.offset()); input.css('visibility', 'hidden'); trueInput.css('visibility', 'visible'); }).on('submit', 'form.tpl-options-form', function() { var that = $(this); $.ajax({ url: that.attr('action'), type: 'post', data: that.serialize(), cache: false, dataType: 'json', // beforeSend: loading, success: function(data) { showMsg(data.code, data.msg); }, error: function() { showMsg(1, '网络异常'); }, complete: function() { // loading(false); } }); return false; }).on('change', '.tpl-options-form input, .tpl-options-form textarea', function() { $('form.tpl-options-form').trigger('submit'); }); //定义方法 var initRichText = (function() { var num = 0; return function() { $('.option-rich-text').each(function() { var that = $(this); if (that.attr('id') === undefined) { that.attr('id', 'option-rich-text-' + (num++)); } loadEditor(that.attr('id')); }); window.setTimeout(function() { for (var id in editorMap) { editorMap.container.style.width = ''; } }, 100); } })(); window.setImage = function(src, path, code, msg) { if (code == 0) { $('').val(path).trigger('change'); $('').attr('href', src).find('img').attr('src', src); } else { alert('上传失败:' + msg) } trueInput.val(''); target = ''; loading(false); }; function initOptionSort() { $('.option-sort-left').each(function() { $(this).find('.option-sort-name:first').addClass('selected'); }); $('.option-sort-right').each(function() { $(this).find('.option-sort-option:first').addClass('selected'); }); } function loading(enable) { if (enable === undefined) { enable = true; } if (enable) { loadingDom.addClass('loading'); } else { loadingDom.removeClass('loading'); } } function showMsg(code, msg) { message.text(msg).css('display', ''); if (code == 0) { message.attr('class', 'alert alert-info alert-tpl'); if (timer) { window.clearTimeout(timer); } timer = window.setTimeout(function() { message.hide(); }, 2600); } else { message.attr('class', 'alert alert-danger alert-tpl'); } } function attr(name) { return tplOptions.prefix + name; } function loadEditor(id) { editorMap = editorMap || KindEditor.create('#' + id, { resizeMode: 1, allowUpload: false, allowImageUpload: false, allowFlashUpload: false, allowPreviewEmoticons: false, filterMode: false, afterChange: (function() { var t, i = 0; return function() { var that = this; if (t) { window.clearTimeout(t); } if (i++ > 0) { t = window.setTimeout(function() { that.sync(); $(that.srcElement).trigger('change'); }, 2000); } } })(), urlType: 'domain', items: }); } }); 温馨提示:本教程只针对emlog6.0.0版本,参考young小杰博客修改而来,其他emlog版无效!!!教程有小问题,不管模板支持不支持模板设置,都会显示设置2字。 参考教程:http://bbs.emlog.net/thread-65337-1-1.html
      • 2018年10月6日
      • 16189 阅读
      • 2 评论
      Emlog教程
    • ECS云服务器不支持Emlog插件Sendmail发邮件的解决办法 2018-9-1
      ECS云服务器不支持Emlog插件Sendmail发邮件的解决办法 使用过阿里云ECS云服务器的朋友可能发现25端口不能使用了,阿里云官方给出的回复如下: 您好,尊敬的阿里云用户,由于国际与国内均对垃圾邮件进行严格管控,我国《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范,为了共同维护良好的网络环境,鉴于服务器25端口被大量垃圾邮件充斥,严重影响广大用户正常使用,经专家讨论,阿里云自即日起新购服务器不再提供25端口邮件服务,建议您考虑使用阿里云云邮箱或第三方邮箱业务,镶嵌到程序代码中,调用云邮箱的发件服务器25端口进行邮件发送,阿里云云邮箱有很好发信通道信誉保护,能够保障更稳定的邮件发送,给您带来的不便深表歉意。。。 解决办法: 为了防止垃圾邮件泛滥,阿里云服务器已不再开放smtp邮件的25端口,现在需要使用465端口进行smtp邮件发送,smtp服务器改为ssl://smtp.qq.com。具体参考下图设置
      • 2018年9月1日
      • 8286 阅读
      • 3 评论
      Emlog教程
    • Emlog分类页删除sort伪静态后URL不是唯一地址的教程 2018-8-7
      Emlog分类页删除sort伪静态后URL不是唯一地址的教程 使用EM博客程序的朋友应该知道,通过《Emlog去除分类目录前的sort,请先开启伪静态》,去除sort后分类页伪静态后URL不是唯一性的,举个很简单的例子: http://www.shuyong.net/iemlog http://www.shuyong.net/sort/iemlog http://www.shuyong.net/?sort=1 以上三种情况URL都是可以打开的,今天的教程就是把这个其中的2个URL301跳转到默认的url上面,教程如下: <?php $ymurl=$_SERVER.$_SERVER;//获取访问地址 if($sortName){ $emurl=preg_replace('/(http:\/\/|https:\/\/|)*/','',Url::sort($sortid)); if($emurl!=$ymurl&&$page==1){ header('HTTP/1.1 301 Moved Permanently'); header('Location:'.Url::sort($sortid)); }}?> 上面代码放入log_list.php文件if(!defined('EMLOG_ROOT')){exit('error!');}的后面即可!!! 相关教程:解决Emlog文章详情页伪静态后URL不是唯一地址的教程 $ymurl=$_SERVER.$_SERVER;//获取访问地址 if($sortName){$sorturl=preg_replace('/(http:\/\/|https:\/\/|)*/','',Url::sort($sortid));if($sorturl!=$ymurl&&$page==1){header('HTTP/1.1 301 Moved Permanently');header('Location:'.Url::sort($sortid));}} if($tag){$tagurl=preg_replace('/(http:\/\/|https:\/\/|)*/','',Url::tag($params));if($tagurl!=$ymurl&&$page==1){header('HTTP/1.1 301 Moved Permanently');header('Location:'.Url::tag($params));}} if($record){$recordurl=preg_replace('/(http:\/\/|https:\/\/|)*/','',Url::record($params));if($recordurl!=$ymurl&&$page==1){header('HTTP/1.1 301 Moved Permanently');header('Location:'.Url::record($params));}}
      • 2018年8月7日
      • 9249 阅读
      • 4 评论
      Emlog教程
    • Emlog程序博客熊掌号:号主页展现改造代码教程 2018-8-4
      Emlog程序博客熊掌号:号主页展现改造代码教程 我看最近很多站都改造了熊掌号,于是舍力闲的没事也改造了一下。 下面简单说一下Emlog程序怎么改造熊掌号 这个比较简单,打开模板文件header.php,在</head>标签前添加下面代码即可 <?php if($logid && $type!='page'){?> <script type="application/ld+json"> { "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld", "@id":"<?php echo Url::log($logid);?>", "appid":"1584091741300733", "title":"<?php echo $log_title;?>", <?php if(xzh_fj($logid)||xzh_zw($log_content)){?>"images":, <?php }?> "description":"<?php echo extractHtmlData($log_content,100);?>", "pubDate": "<?php echo gmdate('Y-m-d',$date);echo 'T'.gmdate('h:i:s',$date);?>" } </script> <?php }?> 把其中的是appid参数改为你自己的熊掌号id即可,以上代码是有图片地址的(先调用附件第一张图片,没有就调用正文第一张图片,在没有就没有了),所以需要在模板的module.php放入下面代码 <?php function xzh_zw($content){preg_match_all("|<img+src=\"(+)\"?*>|is", $content, $img);$imgsrc = !empty($img) ? $img : '';if($imgsrc):return $imgsrc;endif;} function xzh_fj($logid){$db = MySql::getInstance();$sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$logid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1";$imgs = $db->query($sql);$img_path = "";while($row = $db->fetch_array($imgs)){$img_path .= BLOG_URL.substr($row,3,strlen($row));} return $img_path;}?> 关于canonical标签请参考文章《Emlog模板SEO优化之文章详情页URL怎么做到规范化》 插件使用方法: 1、在<head></head>之间加入下面代码(注:必须<head></head>之间,否则无效!!!) <?php doAction('slxzh',$logData);?> 2、下载插件熊掌号插件并安装启用(QQ群文件下载,文件名为:slxzh)
      • 2018年8月4日
      • 10315 阅读
      • 10 评论
      Emlog教程
    • Emlog模板SEO优化之文章详情页URL怎么做到规范化? 2018-5-19
      Emlog模板SEO优化之文章详情页URL怎么做到规范化? 在Emlog程序模板制作初期就必须要考虑到路径规范化的问题,如果不注意就会造成危害: 1、搜索引擎在抓取网页的时候遇到多种路径的时候,他会自动选择其中一种路径作为标准,这个路径的选择也许不是你想让搜索引擎抓取的,平时做的外链用的都不是这个路径,这时候搜索引擎在给网页做排名的时候就会有一部分外链权重不计算在内。 2、多种路径会让本来就不熟悉网站的用户产生记忆模糊的问题,在一定程度上影响了用户体验。 所以,我们要力求同一个网页要有唯一的简单、短的路径,这样可以方便搜索引擎抓取和排名权重的集中,避免不必要的麻烦。同时这样的路径可以方便用户去记忆,从连接上满足用户体验。 emlog博客程序URL比较乱,举例如下: www.shuyong.net/?post=1029 www.shuyong.net/1029.html www.shuyong.net/xxx/1029.html 等都是访问到通一个页面,今天舍力就给大家分享一个简单的emlog模板路径规范化教程。 把下面代码直接放入<head></head>之间即可(温馨提示:代码中如何出现rel="canonical"请删除) <?php if($logid){?> <link href="<?php echo Url::log($logid);?>" rel="canonical" /> <?php }?> <?php if($sortid){?> <link href="<?php echo Url::sort($sortid);?>" rel="canonical" /> <?php }?> <?php if($tag){?> <link href="<?php echo Url::tag($params);?>" rel="canonical" /> <?php }?> <?php if($record){?> <link href="<?php echo Url::record($params);?>" rel="canonical" /> <?php }?> 如需301请参考文章《解决Emlog博客程序伪静态后URL不是唯一地址的教程》
      • 2018年5月19日
      • 12089 阅读
      • 2 评论
      Emlog教程
    • 1
    • 2
    • 3
    博主栏壁纸
    博主头像 舍力

    静以修身。

    1140 文章数
    3828 评论量
    • emlogpro实现分站功能(同一后台,不同前端)
    倒计时
    最新评论
    • 肥饶
      肥饶
      1 年前
      这个好  随机
    • 爱比宝
      爱比宝
      2 年前
      好工具,谢谢分享
    • 上海网站建设
      上海网站建设
      2 年前
      感谢分享
    • ET聊
      ET聊
      3 年前
      分享资源交流经验
    • 百胜综合盘
      百胜综合盘
      3 年前
      很8错!感谢分享
    • 百科情报站
      百科情报站
      3 年前
      你这网站可以哦, 来换个友链吧
    • 舍力
      舍力
      3 年前
      @言之在线:win10都还没有弄明白呢
    • 言之在线
      言之在线
      3 年前
      win11好还是win10好
    • 天兴工作室
      天兴工作室
      3 年前
      网站整改,我网站友链全部下了,麻烦我的链接也可以删掉了
    • 贵金属回收
      贵金属回收
      3 年前
      善良让这世界有了温暖,如果都是冷漠,那多无趣
    载入天数...载入时分秒...
    基于宝塔面板,数据存储于阿里云ECS 粤ICP备11021420号