【发布时间】:2020-07-12 13:03:50
【问题描述】:
我正在尝试在发布任何帖子、自定义帖子类型或页面时发送推送通知。我正在从插件设置中启用帖子类型,并通过foreach 循环在我的类__construct 方法中添加操作。问题是它仅适用于帖子,不适用于任何自定义帖子类型或页面。这是我的职能和行动:
foreach ((array)get_option('PushPostTypes') as $postType) {
add_action("publish_{$postType}", array($this, 'doNewPostPush'), 10, 2);
}
public function doNewPostPush($id, $post) {
$pushData = array(
'title' => $post->post_title,
'body' => strip_tags($post->post_content),
'data' => array(
'url' => trailingslashit(get_permalink($id)),
),
);
if (has_post_thumbnail($id)) {
$pushData['image'] = get_the_post_thumbnail_url($id);
}
$this->sendNotification($pushData);
}
get_option('PushPostTypes') 是用户选择的帖子类型数组,例如:array('post', 'page', 'custom_post');
知道为什么它只适用于 post 而不适用于页面或自定义帖子类型吗?
【问题讨论】: