感谢这里的一些帮助,我在循环中得到了一个整齐的小jquery,可以执行以下操作。
在我的摘录页面上,当帖子中填写了自定义字段“takeaway”时,第二个按钮会添加到帖子旁边,标准的“read more”会将它们带到永久链接中的锚点。
添加jquery以定位具有.more类的'read more'按钮,并添加类.small,将其缩小到50%,以便新按钮很好地放在一起。
问题是,由于一些奇怪的原因,它不会在页面上定位.more的最后一个实例,无论页面上有多少帖子,该类.small只是没有添加到页面上的最后一个。
有人可以帮忙吗?
<?php $key = get_post_meta($post->ID, 'takeaway', true);
if($key) : ?>
<script>
$(".takeaway").parent().find(".more").addClass("small");
</script>
<a class="takeaway" href="<?php the_permalink(); ?>#thetakeaway" rel="bookmark">Quick+Dirty!</a>
<?php endif; ?>
答案 0 :(得分:2)
这是因为您尝试在页面上尚未出现的元素$(".takeaway")
上运行JavaScript。首先,您希望根据您的密钥输出您的takeaway
类的link元素:
<?php $key = get_post_meta($post->ID, 'takeaway', true);
if ($key) : ?>
<a class="takeaway" href="<?php the_permalink(); ?>#thetakeaway" rel="bookmark">Quick+Dirty!</a>
<?php endif; ?>
然后在</body>
标记之前,在domready
事件处理程序中,添加脚本以将small
类添加到预期元素:$key = ...
部分是再次需要,否则$key
var将是未定义的,并且会发生错误。
<?php $key = get_post_meta($post->ID, 'takeaway', true);
if ($key) : ?>
<script type="javascript">
$(function() {
$(".takeaway").parent().find(".more").addClass("small");
});
</script>
<?php endif; ?>