如何在单击帖子后发送值,从WordPress中的数据库中查询

2022-08-30 23:46:04

我正在尝试使用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>

我希望将与图像关联的帖子的标题发送到在颜色框中打开的文件。


答案 1

我会在你的链接中放一个,这样每个链接都有帖子标题。(抱歉,如果“ 不是WP帖子的正确属性,但你会发现)。然后,在 javascript 中,在 URL 中传递标题,例如:rel="<?= $post['title'] ?>"$post['title']

<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>

您应该对在标记内传递的标题进行URL编码,或者在将其传递到颜色框时使用javascript进行编码。rel="

然后,在概述页中,您可以使用 访问标题。$_REQUEST['title']


答案 2

内容页面.php,内容旁.php等,是WP主题中使用的文件,用于在循环中输出产品,因为代码中的这一行:

get_template_part( 'content', get_post_format() ); 

因此,基本上,您需要做的就是打开这些文件,并在输出每个帖子内容的部分,使用帖子的ID将帖子图像括起来(...<a href="#" id="post-<?php the_ID(); ?>">

然后,您将能够使用jQuery查询中的ID轻松“定位”适当的概述...


推荐