获取使用 FCM 发送通知的自定义帖子类型的 ID 和标题



我有以下功能,当我有新帖子时,我会获取ID来获取帖子的标题,然后使用它将其作为通知发送(使用Firebase Cloud Messaging(。但这些只适用于POST.

function send_message_on_publish($ID, $post) {
include('inc/functions.php');
$title = 'New post!';
$msgtext = $post->post_title;
send_push($msgtext, $title);
}
add_action( 'publish_post', 'send_message_on_publish', 10, 2 );

但是我需要对自定义帖子类型(post_type=tribe_events(使用相同的函数,如何获取post_type的ID和标题。

你使用的是publish_post钩子,只有当post的帖子状态更改为publish时,它才真正出现。

为了具体回答您的问题,WordPress有一个动态钩子用于{$new_status}_{$post->post_type}。只需添加动作钩子:

add_action( 'publish_tribe_events', 'send_message_on_publish', 10, 2 );

它也应该针对您的tribe_events帖子类型触发。自定义帖子类型仍然具有IDpost_title记录,该记录可与标准post相同地访问。

function send_message_on_publish($ID, $post) {
include('inc/functions.php');
$title = 'New post!';
$msgtext = $post->post_title;
send_push($msgtext, $title);
}
add_action( 'publish_post', 'send_message_on_publish', 10, 2 );
add_action( 'publish_tribe_events', 'send_message_on_publish', 10, 2 );

综上所述,您可能需要考虑改用发布状态转换,因为publish_{$post_type}钩子将在post_type首次发布更新时运行。

相关内容

  • 没有找到相关文章