如何使用心跳API为多种自定义帖子类型创建前端通知

时间:2013-07-29 作者:Daniel Foltynek

如何在多个自定义类型的publish\\u帖子上获得正确的操作挂钩?

我有以下问题,我可以将此挂钩用于post或单个自定义post\\u类型,但我不知道多个自定义post类型的正确挂钩:

// Post publication for posts
add_filter ( \'publish_post\', \'notify_published_post\' );
function notify_published_post( $post_id ) {
我想发布到所有甚至未来的自定义post\\u类型,所以我想得到如下内容:

// Post publication hook for all custom posts
add_filter ( \'publish_anypost\', \'notify_published_post\' );
function notify_published_post( $post_id ) {

2 个回复
最合适的回答,由SO网友:Ravinder Kumar 整理而成

我认为您可以通过以下方式实现这一目标:

1.通过使用get_post_types() 外汇

它根据您传递的参数返回帖子名称或对象的列表

<?php
$args = array(
  \'public\'   => true,
  \'_builtin\' => false
); //pass parameter to array according to get all custom post types( parameter pass for demo only.modify it to get desire result)
$post_types=get_post_types($args,\'names\');

?>
2。发布时向自定义帖子类型添加操作

<?php
foreach($post_types as $post_type){
  add_action( \'publish_\'.$post_type, \'ravs_notify_published_post\' );
}
function ravs_notify_published_post( $post_id ) {
 $post = get_post( $post_id );
 // Here\'s the magic
 Wp_Heartbeat_Notify::notify( array(
    \'title\'     =>      \'New Post by \' . $post->post_author,
    \'content\'   =>      \'There\\\'s a new post publish, why don\\\'t you <a href="\' .get_permalink($post_id). \'">give it</a> a look?\',
    \'type\'      =>      \'info\'
  ));
}
?>

Updated

创建插件以显示实时通知WP-Realtime-Notify

Edit

粘贴此代码functions.php.它将打印自定义帖子类型的名称数组。转到get_post_types 并查看所有参数。通过提供所需输出的正确参数(更改$args ).如果您获得了所需的自定义帖子类型名称的正确数组$args,用我的$args 插件中。

<?php
add_action(\'the_content\',\'ravs_customPostList\');
function ravs_customPostList(){
$args = array(
  \'public\'   => true,
);
$post_types = get_post_types($args,\'names\'); //get names of post types
print_r($post_types);
}?>

SO网友:Alessandro Benoit

正如我在文档中所写,这个插件已经在WordPress 3.6-beta3上进行了本地主机和在线的全面测试,但我不确定它在以后的RC上会如何工作。

3.6版本一发布,我就去看看。出于测试目的,我建议在此处下载beta 3:http://wordpress.org/wordpress-3.6-beta3.zip

请记住,要查看实时通知,您必须打开两个浏览器,因为事件显然不会显示给触发它们的用户。

希望这能有所帮助:)

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴