我正在尝试使用WordPress中的colorbox创建概述功能。
让我解释一下。在WordPress中,页面包含通过此代码查询的帖子:
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post);
get_template_part( 'content', get_post_format() );
endforeach;
因此,这将获取WordPress数据库中的所有帖子。现在每个帖子都是一个产品,所以我想知道是否有一种方法可以为此添加一些代码,以便为每个帖子设置一个值,一旦有人点击帖子图片,它就会发送该帖子的标题所以它可以获取该特定产品的概述模板(我会做的)。
更新
这是点击任何图像后打开的jQuery:
<link media="screen" rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/js/colorbox.css" />
<script src="<?php echo get_template_directory_uri(); ?>/js/jquery.colorbox-min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function()
{
$('.item-post a').colorbox({opacity:0.3, href:"../overviewa512454dzdtfa"});
});
</script>
我希望图片关联的帖子标题发送到彩盒中打开的文件。
答案 0 :(得分:3)
我会在您的链接中添加rel="<?= $post['title'] ?>"
,以便每个链接都有帖子标题。 (抱歉,如果$post['title']
“不是WP Post的正确属性,但你会发现)。然后,在你的javascript中,传递URL中的标题,如:
<script type="text/javascript">
$(function()
{
$('.item-post a').bind('click',function() {
event.preventDefault();
var product_title = $(this).attr('rel');
colorbox({opacity:0.3, href:"../overviewa512454dzdtfa?title=" + product_title});
});
});
</script>
您应该对您在rel="
标记内传递的标题进行URL编码,或者在将其传递到颜色框时使用javascript进行编码。
然后,在概述页面,您可以使用$_REQUEST['title']
访问标题。
答案 1 :(得分:1)
content-page.php,content-aside.php等是WP主题中用于在循环中输出产品的文件,因为代码中包含以下行:
get_template_part( 'content', get_post_format() );
所以基本上,您需要做的就是打开这些文件,在输出每个帖子内容的部分中,使用帖子的ID围绕帖子图像(<a href="#" id="post-<?php the_ID(); ?>">
...
然后,您可以轻松地使用jQuery查询中的ID“定位”相应的概述...