Use Post ID in functions.php

时间:2019-07-02 作者:michaelmcgurk

我的functions.php. 它工作得很好:当预订时,它会给我发电子邮件。易于理解的

然而,我希望它能给我发送该预订的post ID,而不仅仅是“你好,世界!”消息帮助

function add_to_system() {

  // get post meta
  // $email = get_post_meta(\'\',$post_id)
  // $post_id = get_queried_object_id();
  mail(\'[email protected]\', $post_id.\' Hello\', \'World!\');

}

add_action(\'booked_new_appointment_created\', \'add_to_system\', 99);
感谢您的指导。

3 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

尽管问题是关于第三方插件的,其源代码甚至不能免费获得,但我只发布了一个备选答案,因为我不认为公认的答案可能是一个好的解决方案。

他们的网站上没有记录,但comment from the developer 国家:

这些都将被视为自定义请求,我们的免费支持无法处理这些请求。您想要做的可能是挂接到“booked\\u new\\u appointment\\u created”操作中,该操作随约会ID一起提供(您可以使用该ID下拉元字段等)-这就是关于这些自定义编码问题,我可以真正为您提供的所有方向。

这意味着booked_new_appointment_created 钩子将约会ID作为参数接收:

function add_to_system( $appointment_id ) {
    mail( \'[email protected]\', \'My subject\', $appointment_id );
}
add_action( \'booked_new_appointment_created\', \'add_to_system\', 99, 1 );
这样做更可靠,因为您可以确定,您使用的约会ID是触发该操作的约会的ID,而不是其他可能是全局状态下“当前”帖子的帖子或页面。

对于所有挂钩来说,这是一条很好的经验法则:尽可能使用传递给回调的参数,而不是全局变量。

SO网友:Michelle

使用get_the_id 而不是全球美元邮政;

get_the_ID()
像这样更新

function add_to_system() {
   mail("[email protected]","My subject",get_the_ID());
}
add_action(\'booked_new_appointment_created\', \'add_to_system\', 99);

SO网友:Chetan Vaghela

尝试以下操作:

function add_to_system($appointment_id) {
   mail("[email protected]","My subject",$appointment_id);
}
add_action(\'booked_new_appointment_created\', \'add_to_system\', 99,1);
如果对你有用,请告诉我!

相关推荐

Word Press主题定制器和子主题函数.php

我已经下了一个很大的网来寻找答案,但似乎没有什么能找到正确的答案。过程:我登录到我的站点/仪表板,我决定需要通过customiser编辑我的主题的一部分,所以我很直接地这样做了。。。与此同时,我已经建立了我的儿童主题,对于新手来说似乎效果很好,并且已经大致了解了如何复制和编辑特定内容。php文件,如页脚、页眉等。。。并且,更改(模板到样式表)以加载子主题图像;然而我想更改页脚中的社交媒体链接,在弄清楚定制者是如何工作的以及在哪里进行定制之前,我不得不挠头。php文件被存储,以便我可以更改和添加新的fab