我无法在更新或保存后触发我的函数。我发现其他几个论坛帖子也有同样的问题,但从来没有找到答案:(
我的代码非常简单:
function pdfgenerator_update($post_ID) {
global $MYTEST;
$MYTEST["pageID"] = $post_ID;
}
//add_action(\'trashed_post\',\'pdfgenerator_update\');
//add_action(\'publish_page\',\'pdfgenerator_update\');
//add_action(\'save_post\',\'pdfgenerator_update\');
//add_action(\'edit_post\',\'pdfgenerator_update\');
add_action(\'publish_post\',\'pdfgenerator_update\');
add_action(\'edit_post\',\'pdfgenerator_update\');
//add_action(\'edit_page_form\',\'pdfgenerator_update\');
global $MYTEST
$MYTEST["Am I running"] = "YIPPEE";
(注意:$MYTEST是一个数组,我用来收集调试信息,然后将其打印到管理员页脚中。)
正如你所看到的,我尝试了许多不同的钩子。我唯一工作过的是edit\\u page\\u表单。。。但这似乎没有传递任何参数。我确实需要这些参数。还有一个原则问题。如果正确的钩子是publish\\u posts,那么我很想知道为什么它对我来说失败了。
代码在我的主插件文件中,很明显,当YIPPEE正确打印时,它正在加载。
这不起作用似乎很荒谬。我找到了很多与此完全相同的教程和示例。坦率地说,我这里有点像猿猴。它应该能正常工作!我错过了什么?
非常感谢你的帮助。阿拉斯泰尔
最合适的回答,由SO网友:mor7ifer 整理而成
发布/保存帖子时,它不会在单个脚本执行中完成。它重定向到另一个脚本,进行保存,然后重定向回您开始的位置。如果要确认挂钩是否正常工作,请使用update_option()
, 并在显示后立即删除该选项,使其不处于潜在状态(或者:你可以让选项计数或做其他事情,你可以做很多事情,要有创意)。
还有,你要找的钩子是save_post
, 它在两个地方都开火wp_insert_post()
和wp_update_post()
(实际上都是通过wp_insert_post()
不管怎么说,只要FWIW)。