我在我的Wordpress网站上有adrotate插件,我支付了专业版,但它并没有做它应该做的事情。我想我可以通过分组广告和隐藏一些来自己做到这一点。
这是为两个广告输出的HTML
<div class="g g-16">
<div class="g-col b-16 a-20">
<a data-track="MjAsMTYsMCwx" class="gofollow" href="https://google.com/"><img src="theimage.jpg" alt="Advert" data-recalc-dims="1" /></a>
</div>
</div>
<div class="g g-16">
<div class="g-col b-16 a-24">
<a data-track="MjAsMTYsMCwx" class="gofollow" href="https://google.com/"><img src="theimage.jpg" alt="Advert" data-recalc-dims="1" /></a>
</div>
</div>
但是班级名称是g,我认为这个名称不够具体,可能会让其他人感到不安。
这是我试过的代码
setInterval(function(){
$('.g').first().hide().next().show();
}, 6000); // every 6 seconds
答案 0 :(得分:1)
我发现专业版也不能正常工作(我被拒绝退款,因为显然是“用户错误”,插件中缺少一部分)。
以下是如何操作:
创建/修改广告组
在动态和屏蔽模式部分中,将其设置为显示多个广告,例如3行,1列。
就像你提到的那样,它创建的列使用非特定的类名g
,这是一个非常糟糕的主意,所以我们不要使用它。它还会将一些CSS转储到页面中,直到开发人员修复了你必须使用它。
我们可以找到data-track
的元素,但是对于我来说仍然有点过于通用的类名g
,所以我们将创建自己的元素。
在包装器代码中,在每个字段中添加此HTML
之前:<div class="adrotate-category-ad">
之后:</div>
<强>的jQuery 强>
// check there is more than one (otherwise it's not worth doing it)
if ($('.adrotate-category-ad').length > 1){
// use the parent of the first ad as the wrapper
// we know it's safe because it's one of those <div class="g col-xx"> divs
var $wrapper = $('.adrotate-category-ad').first().parent().attr('id', 'adrotate-wrapper');
// move all of the ads there and show only the first
$('.adrotate-category-ad').hide().appendTo($wrapper).first().show();
setInterval(function(){
// now just move the first the end, hide it and show the first each time
$('.adrotate-category-ad').first().hide().next().show().prev().appendTo($wrapper);
}, 6000); // every 6 seconds
}
如果页面上有多个组,则需要扩展此jQuery,可能使用<div class="adrotate-category-ad" data-adrotategroupid="%id%">
并使用该ID保持组分开。