当前位置: 首页 > 知识库问答 >
问题:

“post_id”中的“呼叫”post信息

葛泳
2023-03-14

所以我有各种用户的自定义帖子。

每个帖子都有以下元键:

post_widthpost_height以及标题描述等常用数据,如下所示:

$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);  

现在,当这些帖子在循环中显示时,它们每个都通过<code>获取<code>post_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
  • 高度: 15px
  • “联系”按钮

第2篇:

    < li >标题:这是帖子2 < li >帖子作者:Steve < li >张贴作者的电子邮件:steve@example.com < li >帖子描述:今天是星期天 < li >宽度:1222像素 < li >身高:1233px < li >联系按钮

等等。

现在,每个帖子都有联系人按钮,当点击按钮并显示联系人表单时,我希望自动填写这些帖子元(当然,从视图中隐藏)。这样,当表单提交时,它将具有帖子信息,并能够告诉观众是从哪个帖子联系的。

我希望我说的有道理。

所以,这是我的问题。

如何根据每个帖子的post_id调用或保存帖子元(如标题、描述、自定义元等)?(因为每个按钮都有唯一的post_id,这将是调用其余数据的良好起点)

任何帮助将不胜感激。

谢谢

更新1:

因此,我在<code>联系人中有联系人表单。php,通过ajax调用。

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

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

所以,这里有一个问题。

如何将post_id传递给另一个php文件?(contact_form.php)以便联系表单是唯一的?

谢谢

共有1个答案

彭弘伟
2023-03-14

你试过用吗

 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

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

 类似资料:
  • 1、接口声明 如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。 第一步:获取第三方用户接口调用唯一凭证 请联系您的售后经理,获取您企业的如下信息: 1、companyid(企业id) 2、appid(第三方用户接口调用唯一凭证id) 3、app_key(第三方用户

  • 问题内容: 我需要从被叫方获取呼叫者信息(什么文件/什么行)。我了解到可以为此目的使用inpect模块,但不能完全使用它。 如何使用inspect获取那些信息?还是有其他方法来获取信息? 问题答案: 呼叫者的帧比当前帧高一帧。您可以用来查找呼叫者的框架。然后使用inspect.getframeinfo获取调用者的文件名和行号。

  • 本章主要讲述智齿客服系统中,呼叫中心业务模块的全部介绍,将以呼叫管理员和呼叫客服两个角色来进行讲解; 同时还会单独介绍IVR的配置流程。 5.1.客服业务-作为呼叫管理员 作为呼叫管理员,在本节主要介绍呼叫管理员对企业下的呼叫客服成员以及呼叫相关业务设置进行的操作。 技能组管理 通话设置 呼叫质检评分方案设定 路由策略设置 队列溢出策略设置 IVR设置 号码管理 5.1.1.技能组管理 技能组包括

  • 问题内容: 我已经在voip应用程序中实现了呼叫工具包,在该工具包中,我为传入或传出的呼叫生成了呼叫日志(在“电话最近使用”标签上可见)。当我单击通话记录时,它将打开我的应用程序。我已经重写了委托方法来获取处理程序。 但是我无法获得有关呼叫日志的信息。如何在我的应用程序中获取通话记录信息? 任何帮助,不胜感激。谢谢! 问题答案: 我们可以从 userActivity* 获取 电话号码 , *

  • 我想在Android系统中拦截来电。一种方法是扩展“broadcastreceiver”。还有别的办法吗?

  • 我在调用我的onLeScan时遇到问题。我在开始扫描中放置了一个标签,每次都会被调用。出于某种原因,我的onLeScan永远不会被调用。有人看到我所做的有问题吗?onLeScan应该在开始扫描后立即调用,对吗? 编辑更改了我的onLeScan函数。仍然不起作用,但我认为我正在走向正确的道路。DeviceBeacon是一个只包含方法的类:getName()、getSignal()和getAddres