我创建了一个php脚本(generate.php),它根据设置的条件查询帖子,然后将结果写入自定义xml文件。我想执行generate。php每次按下post Save/Update按钮时。你知道怎么做吗?也许每X分钟使用一次cron作业会更好?
在POST保存/更新后执行php
3 个回复
最合适的回答,由SO网友:jam 整理而成
最后,我用jQuery和ajax解决了
jQuery( \'.post-type-property #post\' ).submit( function( e ) {
if(!(checkMetaFields() && checkCategories())){ //some validation functions
return false;
}else{
jQuery.ajax({
url:"https://demo.site.com/XML/6098123798/gen.php",
type:"post"
})
}
} );
SO网友:Oliver Gehrmann
我认为您应该研究身份转换:https://developer.wordpress.org/reference/hooks/transition_post_status/
页面顶部的解释下面有几个示例。下面是我的一些示例代码:
add_action( \'transition_post_status\', \'nxt_create_news\', 10, 3 );
// Automatically create a news when a wiki post has been published
function nxt_create_news($new_status, $old_status, $nxt_wiki_post) {
if(\'publish\' === $new_status && \'publish\' !== $old_status && $nxt_wiki_post->post_type === \'wiki\') {
... do something here
}
在您的情况下,旧的\\u状态应为“publish”,新的状态也应为“publish”。确保找到一种方法来防止无休止的循环,但我相信WP纪录片上的例子应该是有用的。:-)SO网友:mozboz
看来你想要save_post
hook 在保存新帖子或更新现有帖子时调用。
确保您的PHP文件已加载(例如。require
或include
) 并具有一个可以调用的函数,然后在保存或更新帖子时运行该函数:
add_action(\'save_post\', \'your_function_name\', 10, 1);
请注意,最后一个参数是您想要从挂钩中获得的参数数量,请参见文档页面。