WordPress中用于更新伪动态规定的PHP代码实例解说

flush_rewrite_rules() 函数用来删除而后依据现有的条件重写伪动态规定,也就是刷新一次伪动态规定了。

先来说一下,通常在主题或许插件增加新的自定义文章类型的时分调用,避免新的自定义文章类型的文章呈现 404 的状况,或许很多时分咱们都需求在主题启用的时分执行一些代码,比方安排一些数据库表单、跳转到设置页面等等,WordPress 自身并没有提供相干的钩子,网上也有很多形形色色的完成办法,通过我的钻研,发现了可能是**的办法,下边分享给大家:

/**
  *WordPress 在主题启用的时分执行一些代码
  *http://www.endskin.com/theme-activation-action/
*/
function Bing_theme_activation(){
  if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return;
  /*
  这里就能够搁置在主题启用的时分要执行的代码了,比方跳转到设置界面:
  wp_redirect( admin_url( 'options-general.php' ) );//留意修正页面地址
  die;
  */
}
add_action( 'load-themes.php', 'Bing_theme_activation' );

此代码放在主题和插件里都是无效的。

另外要留意,更新伪动态规定是十分耗费工夫和效率的,所以不要每次执行代码都调用,只在必要的状况调用(比方启用主题和启用插件),把 flush_rewrite_rules() 挂到 init 钩子上是极端不正确的。

用法

flush_rewrite_rules( $hard );

参数

$hard

(布尔)(可选)假如为 True 则一同刷新 .htaccess 文件(hard flush);为 False 则只更新数据库里的伪动态规定(soft flush)。

默许值:True(hard flush)。

例子

在主题启用的时分更新伪动态规定:

function Bing_theme_activation(){
  if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return;
  flush_rewrite_rules();
}
add_action( 'load-themes.php', 'Bing_theme_activation' );

在插件启用的时分更新伪动态规定:

function Bing_myplugin_activate(){
  flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'Bing_myplugin_activate' );


其它

此函数位于:wp-includes/rewrite.php

以上就是安达网络工作室关于《WordPress中用于更新伪静态规则的PHP代码实例讲解》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 伪静态 PHP编程
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress增加并整合Google自定义搜寻完成步骤及代码

给博客增加一个Google自定义搜寻是非常必要的,用户搜寻时高亮显示了要害词,晋升了搜寻的精确度,应用Goog...

WordPress中Gravatar头像缓存到本地及相干优化的技巧

将Gravatar寰球通用头像缓存的目的在于放慢网站的关上速度,由于Gravatar官网的效劳器在国外,加上伟大的GF...

免插件在wordpress中拔出表格的办法

WordPress 很弱小,然而其编辑器却很粗陋,可能 WordPress 依仗着本人有丰厚的插件性能所以将后盾的编辑器简...

WordPress中限度非治理员用户在文章后只能评论一次

之前有网友提出,在WordPress中有没有方法完成每篇文章只容许用户评论一次? 暂不说这个需要有没有用,毕竟...

WordPress后盾中完成图片上传性能的实例解说

图片上传 文件预备:新建php文件,我用默许主题Twenty Ten来测试,首先在这个主题的文件夹下新建一个文件-m...

wordpress 上传附件中文文件名乱码处理方法(for Windows)

然而将站点部署到一个Windows XP 中文版上时,发现上传的附件在效劳器的文件名为乱码,而URL是失常的,阐明...

需求提交

客服服务