个性化阅读
专注于IT技术分析

wordpress add_action(‘save_post’,’my_function)不起作用

我试图在保存/更新wordpress中的帖子时触发一个偶数…请参见此处:

add_action('save_post', 'generate_location');

function generate_location($post_id) {   
    echo "hey"; 
}

问题是它不起作用…为什么有任何想法?句法?


#1


WordPress实现了Post / Redirect / Get模式以避免重复提交表单, 因此你不会看到任何来自save_post回调的回显。

相反, 你可以改用wp_die(‘hey’), 或将某些内容记录到数据库或文件系统中。


#2


我不知道你是否可以使用此功能, 但是我遇到了同样的问题, 并发现了解决方法!

在第2940行的wp-includes / post.php中(在撰写本文时), 此if / else在保存帖子的同时运行:

if ( !empty($page_template) && 'page' == $data['post_type'] ) {

你会注意到, 如果模板有错误, 该函数将在那里停止并且永远不会调用save_post。

就我而言, 我要保存的帖子是从先前存在的网站导入的。新站点根本没有页面模板, 因此WP仍在尝试使用以前的模板保存页面, 但失败了, 因此; save_post从未被调用。

我加了

/* Template Name: Default Template */

到page.php, 进行批量修改, 选择模板并保存。从page.php中删除模板名称(因为它显示两次(现在, 每次都会触发save_post。

无论如何, 这就是我的解决方案。我敢肯定, 这会影响到别人。

赞(0) 打赏
未经允许不得转载:srcmini » wordpress add_action(‘save_post’,’my_function)不起作用
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏