gpt4 book ai didi

php - "Call"来自 "post_id"的帖子信息

转载 作者:行者123 更新时间:2023-12-01 03:36:32 26 4
gpt4 key购买 nike

所以我有不同用户的自定义帖子。

每个帖子都有以下元键:

post_width , post_height以及常用数据,例如 title , description等如下图:

$tags = $_POST['post_tags'];
$custom_field_1 = $_POST['custom_1'];
$custom_field_2 = $_POST['custom_2'];

$post = array(
'post_title' => $title,
'post_content' => $description,
'post_category' => $_POST['cat'],
'tags_input' => $tags,
'post_status' => 'publish',
'post_type' => $_POST['post_type']
);
$pid = wp_insert_post($post);
add_post_meta($pid, 'post_width', $custom_field_1, true);
add_post_meta($pid, 'post_height', $custom_field_2, true);

现在,当这些帖子循环显示时,它们每个都会得到 post_id通过$id = get_the_ID();

现在是有趣的部分

现在,假设显示了 5 个帖子,每个帖子都有唯一的 post_id如下图data-post_id在一个按钮中。

 <?php echo '<button type="button" class="contact_button" data-post_id="' .$id. '">' ;?>
Open the contact form
<?php echo '</button>';?>

单击按钮后,将显示以下联系表格:

 <form action="<?php the_permalink(); ?>" method="post">
<p><label for="name">Name: <span>*</span> <br><input type="text" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>"></label></p>
<p><label for="message_email">Email: <span>*</span> <br><input type="text" name="message_email" value="<?php echo esc_attr($_POST['message_email']); ?>"></label></p>
<p><label for="message_text">Message: <span>*</span> <br><textarea type="text" name="message_text"><?php echo esc_textarea($_POST['message_text']); ?></textarea></label></p>
<p><label for="message_human">Human Verification: <span>*</span> <br><input type="text" style="width: 60px;" name="message_human"> + 3 = 5</label></p>
<input type="hidden" name="submitted" value="1">
<p><input type="submit"></p>
</form>

如您所见,联系表单没什么花哨的。

这是我想要实现的目标

由于有 5 个帖子,因此我想在发送联系表单时对每个帖子进行非常具体的说明。

这就是我的意思。

假设有 5 个帖子,如下所示:

帖子#1:

  • 标题:多么美好的一天
  • 帖子作者:迈克
  • 帖子作者的电子邮件: mike@example.com
  • 帖子描述:这是一个阳光明媚的日子
  • 宽度:14px
  • 高度:15 像素
  • 联系按钮

帖子#2:

  • 标题:这是一篇帖子 2
  • 帖子作者:史蒂夫
  • 帖子作者的电子邮件: steve@example.com
  • 帖子描述:今天是周日
  • 宽度:1222px
  • 高度:1233 像素
  • 联系按钮

等等

现在,每个帖子都有contact button当单击按钮并显示联系表单时,我想自动拥有这些 post meta要填写(当然从 View 中隐藏)。这样,当提交表单时,它将包含帖子信息,并能够判断查看者是从哪个帖子联系的。

我希望我说得有道理。

所以,这是我的问题。

我该怎么办callsave基于 post_id 发布元数据(例如标题、描述、自定义元数据等)每个帖子的? (因为每个按钮都有唯一的 post_id ,这将是 call 其余数据的一个很好的起点)

任何帮助将不胜感激。

谢谢!

更新1:

所以,我在contact.php中有联系表格。这是通过 ajax 调用的。

我使用ajax来调用联系表单的原因是为了节省带宽。这是一个场景。假设单个页面上有 50 个帖子。那么如果contact form为所有帖子生成,那么这将严重增加总页面大小。

为了避免这种情况,我实现了 ajax,仅在单击按钮时调用联系表单。

所以,这是一个问题。

我如何“通过”post_id到另一个php文件? (contact_form.php) 以便联系表单是唯一的?

谢谢!

最佳答案

您尝试过使用

 get_post_meta()

与此类似的东西:

 $custom-meta = get_post_meta($post_id, 'custom-meta', true)

您可以在此处找到更多信息。 https://developer.wordpress.org/reference/functions/get_post_meta/

至于标题,你可以这样做

 $post_title = get_the_title( $post_id );
echo $post_title

https://codex.wordpress.org/Function_Reference/get_the_title

然后,您可以使用该数据将隐藏字段添加到表单中。

关于php - "Call"来自 "post_id"的帖子信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com