【发布时间】:2017-12-04 23:55:52
【问题描述】:
我已经在我正在使用 WordPress、Thesis 主题和 Beaver6813 等人的插件 Infinite Scroll v2.6.2 开发的网站上实现了无限滚动。
不幸的是,它似乎破坏了另一个插件,Kamal Khan 的 kk Star Ratings v2.6。
我的网站配置为通过设置>阅读>您的最新帖子和我的functions.php文件中的以下代码在主页上显示具有特定类别的帖子:
add_action( 'pre_get_posts', function ( $q )
{
if ( $q->is_home()
&& $q->is_main_query()
) {
$q->set( 'category_name', 'strip' );
$q->set( 'posts_per_page', 3 );
}
});
无限滚动正在工作。星级插件在帖子标题和帖子内容之间显示为我想要的。
但是,核心功能——点击星号并对帖子进行评分的能力——仅适用于三个帖子的初始加载。之后延迟加载的所有内容都会显示星数和评分数,但我实际上无法点击星号对帖子进行评分。
这是一个在顶级帖子中工作的示例:working。
下面是一个损坏的功能示例:not-working。
区别似乎在于样式。
工作的宽度为80%,如下:
<div class="kksr-fuel kksr-star orange" style="width: 80%;"</div>
破碎的宽度为0%:
<div class="kksr-fuel kksr-star yellow" style="width:0%;"</div>
我确实尝试通过我的样式表强制“宽度:80% !重要”。虽然它在视觉上改变了界面,但我仍然无法通过点击保存评分。
虽然我可以看到无法使用的插件,但我假设宽度实际上隐藏了我为帖子评分所需的功能。
我只是不知道如何告诉它关闭它。
我尝试了几个不同的插件并得到了相同的结果。我是新手,但我怀疑我使用无限滚动进行分页的方式会阻止插件完全......我不知道,正在加载,我猜。
我觉得我已经非常接近解决这个问题了……只需要在终点线上轻推一下,拜托!
【问题讨论】:
-
在 Fiverr 上的某个人的帮助下解决了这个问题。我们添加了一些 JavaScript 并通过 functions.php(或 custom.php,因为它使用 Thesis 主题)将其加入队列。这是代码:'code' jQuery(document).ready(function($){ setInterval(function(){ if($('.home .content > div:last-child').hasClass('lg')) { }else{ $('.home .content > div:last-child').addClass('lg'); $(".kk-star-ratings").kkstarratings(); } }, 2000); } ); '代码'
标签: php wordpress pagination infinite-scroll