WordPress使用钩子开发主题避免进入死循环

上面是搬码源码网 abnma.com 经由过程收集网络收拾整顿的代码片断。搬码源码网小编此刻分享给各人,也给各人做个参考。

wordpress 开发时,咱们常常会应用 save_post 或 create_post_tag 等钩子,以便在更新文章或分类时,增长一些附加数据,这些钩子触发的机会是发布或更新数据的时间,假如处置惩罚欠好,就会呈现逝世轮回的环境,招致更新数据时呈现逝世轮回的环境。

举个例子,咱们需求在生存文章的时辰,挂在一个函数到 save_post 钩子上,这个函数的目的是改动文章标题,在文章标题后面加上作者名称,咱们经由过程挪用 wp_update_post 函数来显示这个改动。示例代码如下。

add_action('save_post','wprs_update_post');

function wprs_update_post($post_id)

{

// 获取文章标题并在文章标题后面加上作者

$title = get_the_title($post_id);

$title = "一刀:" . $title;

$args = [

'ID' => $post_id,

'post_title' => $title,

];

// 更新文章

wp_update_post($args);

}

下面的代码中,「save_post」这个钩子发生在 wp_update_post 函数的挪用历程中,经由过程「save_post」钩子,咱们又挪用了 wp_update_post 这个函数,这个函数中,又运转了「save_post」钩子。于是,步伐就这么不知倦怠的运转了上来。

有教训的步伐员可能很轻易就发明了这个问题,但是电脑并不晓得这是个逝世轮回,咱们不克不及往嗔怪电脑,究竟那只是个没有思惟的呆板。咱们可以做的是在开发历程中只管即便警惕,防止逝世轮回的呈现。那么,怎么解决 WordPress 中呈现的这个逝世轮回呢?实在要领很简朴。

怎么防止 WordPress 中的逝世轮回

照旧下面的代码,咱们稍作改动,就可以完善的防止这个逝世轮回了。上面是改动后的代码,比照下面呈现逝世轮回的代码,咱们只添加了两行。

add_action('save_post',

];

// 更新文章

remove_action('save_post','wprs_update_post');

wp_update_post($args);

add_action('save_post','wprs_update_post');

}

道理很简朴,在运转 「wp_update_post」函数之前,咱们先卸载失挂在失「save_post」钩子上招致逝世轮回的函数,如许就不会呈现反复履行 「wprs_update_post」函数了,更新完文章后,咱们再把这个钩子挂载上,以便后续应用。

假如您在 WordPress 开发历程中碰到了逝世轮回问题,没关系参考下面的代码举行改动,如许既能完成咱们需求的功效,又不会招致逝世轮回的问题。

以上是搬码源码网(abnma.com)为你网络收拾整顿的全数代码内容,但愿文章可以或许帮你解决所碰到的步伐开提问题。假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

总结

以上是搬码源码网为你网络收拾整顿的WordPress 应用钩子举行主题开发时防止逝世轮回全数内容,但愿文章可以或许帮你解决WordPress 应用钩子举行主题开发时防止逝世轮回所碰到的步伐开提问题。

假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

0
分享到:
搬码资源网广告位

评论0

请先

为了配合净网行动 , 本站下架所有娱乐源码 , 如有疑问 , 请联系站长qq 43233524
没有账号? 忘记密码?