所以我有两个文件(首先阅读底部的" Edit: Clarification
")
first.php
:
<div class="rfp_hide " >
<?php
$args = array(
'post_type' => 'post',
'paged'=>$paged,
'posts_per_page' => 15,
'orderby' => 'date',
'order' => 'DESC'
);
$loop = new WP_Query( $args );
$id = get_the_ID();
while ( $loop->have_posts() ) : $loop->the_post();
?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php echo '<button class="button" data-post_id="' .$id. '">' ;?>
<?php echo get_post_meta($post->ID, 'rh_type', true); ?>
<?php echo '</button>';?>
<div class="new_content">
<!--Ajax new content goes here-->
</div>
</div>
因此,这将显示具有title
, content
, button
和自定义元("rh_type")的帖子。当按钮被点击时,它通过ajax加载另一个文件(second.php
),如下所示,在new_content
div内。
Second.php
<div class="second_content">
<?php the_title(); ?>
<?php the_content(); ?>
<?php echo get_post_meta($post->ID, 'rh_type', true); ?>
</div>
换句话说,当从first.php
中单击button
时,则second.php
将加载到new_content
div中。一旦它被加载,我想使它显示与first.php
相同的title
, content
和custom meta
。
因为second.php
中的meta
本来不是循环的一部分(意思是,它在循环之外),即使它在点击按钮后被加载到循环中,它也不显示任何post meta
。
我不确定"extend
"循环的最佳方法是什么,以下是我的方法。
方法:
- 每个帖子都会有自己独特的
post_id
,按钮也会有post_id
。 - 当按钮被点击,保存
post_id
(我猜与jQuery)与其他元数据(标题等)。 - 一旦
second.php
被加载,load
或paste
这些保存元数据到适当的地方。
这种方法可能有效,但我不确定如何实现它们。
任何帮助都将是非常感激的。
谢谢!
编辑:澄清
为了避免混淆,上面的问题是我的简化版。
所以,这就是我想要达到的目标。
- 一个页面显示10篇文章。
- 每个帖子都有一个按钮通过ajax调用"contact_form.php"。
- 点击此按钮后,将显示联系人表单。
- 联系人表单有典型的输入字段,如姓名、电子邮件等。
- 一旦这些填好,然后提交。
一切顺利。
当我收到邮件时,问题就出现了。
我不知道联系表格是从哪个职位发送的。
因此,我的方法(或试图使其工作)是以某种方式保存按钮被点击的帖子元数据,然后将这些数据"粘贴"到联系表单上,这样当我收到电子邮件时,我就知道它来自哪个内容。
终于找到解决办法了。要查看解决方案,请查看https://chat.stackoverflow.com/rooms/89558/discussion-between-kausha-mehta-and-steve-kim