WordPress使用钩子进行主题开发时如何避免死循环

  介绍

这篇文章给大家分享的是有关WordPress使用钩子进行主题开发时如何避免死循环的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

上面的代码中,“save_post”这个钩子发生在wp_update_post函数的调用过程中,通过“save_post钩子,我们又调用了wp_update_post这个函数,这个函数中,又运行了“save_post钩子。于是,程序就这么不知疲倦的运行了下去。

有经验的程序员可能很容易就发现了这个问题,可是电脑并不知道这是个死循环,我们不能去责怪电脑,毕竟那只是个没有思想的机器。我们可以做的是在开发过程中尽量小的心,避免死循环的出现。

那么,怎么解决WordPress中出现的这个死循环呢?其实方法很简单。

怎么避免WordPress中的死循环

还是上面的代码,我们稍作修改,就可以完美的避免这个死循环了。下面是修改后的代码,对比上面出现死循环的代码,我们只添加了两行。

add_action (& # 39; save_post& # 39;,, & # 39; wprs_update_post& # 39;);   function  wprs_update_post (post_id美元)   {//,,,获取文章标题并在文章标题前面加上作者   ,,,title 美元;=,get_the_title ($ post_id);   ,,,title 美元;=,“一刀:“,只美元标题;      ,,,args 美元;=,(   ,,,,,,,& # 39;id # 39;,,,,,,,,,=祝辞,post_id美元,   ,,,,,,,& # 39;post_title& # 39;,=祝辞,标题,美元   ,,,);   ,,,,   ,,,//,更新文章   ,,,remove_action (& # 39; save_post& # 39;,, & # 39; wprs_update_post& # 39;);   ,,,wp_update_post (args);   ,,,add_action (& # 39; save_post& # 39;,, & # 39; wprs_update_post& # 39;);   }

原理很简单,在运行“wp_update_post”函数之前,我们先卸载掉挂在掉“save_post钩子上导致死循环的函数,这样就不会出现重复执行“wprs_update_post”函数了,更新完文章后,我们再把这个钩子挂载上,以便后续使用。

如果您在WordPress开发过程中遇到了死循环问题,不妨参考上面的代码进行修改,这样既能实现我们需要的功能,又不会导致死循环的问题。

感谢各位的阅读!关于“WordPress使用钩子进行主题开发时如何避免死循环”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

WordPress使用钩子进行主题开发时如何避免死循环