2025年3月17日 星期一 甲辰(龙)年 月十六 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > Discuz

discuz论坛修改记录

时间:08-28来源:作者:点击数:78

discuz广告调用修改:

修改文件source/function/function_core.php 的adshow函数,增加了广告调用数量的控制

  • function adshow($parameter) {
  • global $_G;
  • if($_G['inajax'] || $_G['group']['closead']) {
  • return;
  • }
  • if(isset($_G['config']['plugindeveloper']) && $_G['config']['plugindeveloper'] == 2) {
  • return '<hook>[ad '.$parameter.']</hook>';
  • }
  • $params = explode('/', $parameter);
  • $customid = 0;
  • $customc = explode('_', $params[0]);
  • if($customc[0] == 'custom') {
  • $params[0] = $customc[0];
  • $customid = $customc[1];
  • }
  • // 增加调用数量
  • if ($customc[2]) {
  • $num = $customc[2];
  • }
  • $adcontent = null;
  • if(empty($_G['setting']['advtype']) || !in_array($params[0], $_G['setting']['advtype'])) {
  • $adcontent = '';
  • }
  • if($adcontent === null) {
  • loadcache('advs');
  • $adids = array();
  • $evalcode = &$_G['cache']['advs']['evalcode'][$params[0]];
  • $parameters = &$_G['cache']['advs']['parameters'][$params[0]];
  • $codes = &$_G['cache']['advs']['code'][$_G['basescript']][$params[0]];
  • if(!empty($codes)) {
  • foreach($codes as $adid => $code) {
  • $parameter = &$parameters[$adid];
  • $checked = true;
  • @eval($evalcode['check']);
  • if($checked) {
  • $adids[] = $adid;
  • }
  • }
  • if(!empty($adids)) {
  • $adcode = $extra = '';
  • @eval($evalcode['create']);
  • if(empty($notag)) {
  • // $adcontent = '<div'.($params[1] != '' ? ' class="'.$params[1].'"' : '').$extra.'>'.$adcode.'</div>'; discuz默认代码
  • // 修改为以下代码,增加了广告数量控制和随机显示
  • if($num>1){
  • $adcontent ='';
  • shuffle($adids);
  • foreach($adids as $adKey => $adID)
  • {
  • if($adKey == $num) break;
  • $adcode=$codes[$adID];
  • $adcontent .= '<div'.($params[1] != '' ? ' class="'.$params[1].'"' : '').$extra.'>'.$adcode.'</div>';
  • }
  • }else{
  • $adcontent = '<div'.($params[1] != '' ? ' class="'.$params[1].'"' : '').$extra.'>'.$adcode.'</div>';
  • }
  • } else {
  • $adcontent = $adcode;
  • }
  • }
  • }
  • }
  • $adfunc = 'ad_'.$params[0];
  • $_G['setting']['pluginhooks'][$adfunc] = null;
  • hookscript('ad', 'global', 'funcs', array('params' => $params, 'content' => $adcontent), $adfunc);
  • if(!$_G['setting']['hookscript']['global']['ad']['funcs'][$adfunc]) {
  • hookscript('ad', $_G['basescript'], 'funcs', array('params' => $params, 'content' => $adcontent), $adfunc);
  • }
  • return $_G['setting']['pluginhooks'][$adfunc] === null ? $adcontent : $_G['setting']['pluginhooks'][$adfunc];
  • }

模板调用代码:

discuz默认调用代码为 <!--{ad/custom_2}-->

新的控制广告显示数量代码为 <!--{ad/custom_2_3}-->  红色为调用数量

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门