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代码实例讲解》的一些看法。更多内容请查看本栏目更多内容!
复制代码代码如下:add_filter( 'wp_handle_upload_prefilter', 'custom_upload_name' ); function custom...
本文实例讲述了WordPress完成评论后可显示内容中附件下载地址的办法。分享给大家供大家参考,详细如下: 最...
WordPress 3.8 开端的全新设计的后盾支持多颜色抉择,默许有八种十分精巧的配色,能够让用户本人抉择。 对...
明天收到了很多Bloger冤家的E-mail拜年短信,嘿嘿,觉得很好玩,可是他们是如何完成的这个呢,很简略的,可...
增加设置页面-add_menu_page函数 add_menu_page(),这个函数是往后盾增加顶级菜单先,也就是和“外观”、“...
作为主题的制造者, 除了完成性能, 展现界面, 还有责任使主题灵敏多变, 以满足更多人不同的需要. 可能一些冤...