run script on publish

时间:2011-08-05 作者:Lee

当用户发布/更新帖子时,我正在尝试运行脚本。

我正在使用筛选器:wp\\u insert\\u post\\u data

我遇到的问题是,这个脚本是WordPress之外的php文件,但在同一个站点上(如果直接访问它,效果很好),只需要运行它。我试图使用过滤器包含该文件,但由于某种原因,这阻止了帖子的更新。

这是我当前的代码:

function updateFeed( $data , $postarr) {
   include \'jobsfeed.php\';  
   return $data;
}

add_filter( \'wp_insert_post_data\' , \'updateFeed\' , \'99\', 2 );
是否有任何方法可以运行此脚本?

编辑:

文件似乎正在运行,但由于一些奇怪的原因,它没有输出自定义字段值。这是一个简单的php文件,带有一个使用wp\\U查询的循环,当我直接访问它时,它运行良好。-有什么想法吗?

编辑:

找出了自定义帖子类型不起作用的原因,我必须更改脚本检索id的方式。现在,由于某种原因,我还有最后一件事要解决,当脚本在编辑页面时运行时,脚本输出的xml是以前保存的数据。因此,这意味着我必须按两次“保存”以显示我的新编辑。它是否得到了修订,或者触发得太早了?

1 个回复
最合适的回答,由SO网友:Scott 整理而成

可能是因为筛选器找不到包含文件。

尝试使用:

include( ABSPATH. "/path/to/file/jobsfeed.php" )

结束

相关推荐

PUBLISH_POST的添加操作不起作用

我正在开发一个个人投票插件,我不打算公开发布它,因为我还在学习WP。一般来说,你可以投票给帖子“向上”或“向下”。我有两个表,一个收集IP(不允许多次投票),另一个名为“post\\u votes”的表收集每个帖子的投票数。当我发布一篇新帖子时,它的ID存储在“post\\u votes”中,我可以在人们投票时更新每个帖子的“up”、“down”。这在几天前奏效了。我做了一些修改,但我不明白为什么它不再工作了。。这是目前为止的全部代码。。我仍然需要实施一些安全预防措施。<?php /*&#x