时间:2021-05-02
flush_rewrite_rules() 函数用来删除然后根据现有的条件重写伪静态规则,也就是刷新一次伪静态规则了。
先来说一下,通常在主题或者插件添加新的自定义文章类型的时候调用,防止新的自定义文章类型的文章出现 404 的情况,或者很多时候我们都需要在主题启用的时候执行一些代码,比如布置一些数据库表单、跳转到设置页面等等,WordPress 本身并没有提供相关的钩子,网上也有很多五花八门的实现方法,经过我的研究,发现了可能是最优的方法,下边分享给大家:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 /** *WordPress 在主题启用的时候执行一些代码 *http://www.endskin.com/theme-activation-action/ */ function Bing_theme_activation(){ if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return; } add_action( 'load-themes.php', 'Bing_theme_activation' );此代码放在主题和插件里都是有效的。
另外要注意,更新伪静态规则是非常消耗时间和效率的,所以不要每次执行代码都调用,只在必要的情况调用(比如启用主题和启用插件),把 flush_rewrite_rules() 挂到 init 钩子上是极其不正确的。
用法
? 1 flush_rewrite_rules( $hard );参数
$hard
(布尔)(可选)如果为 True 则一起刷新 .htaccess 文件(hard flush);为 False 则只更新数据库里的伪静态规则(soft flush)。
默认值:True(hard flush)。
例子
在主题启用的时候更新伪静态规则:
? 1 2 3 4 5 function Bing_theme_activation(){ if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return; flush_rewrite_rules(); } add_action( 'load-themes.php', 'Bing_theme_activation' );在插件启用的时候更新伪静态规则:
? 1 2 3 4 function Bing_myplugin_activate(){ flush_rewrite_rules(); } register_activation_hook( __FILE__, 'Bing_myplugin_activate' );
其它
此函数位于:wp-includes/rewrite.php
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Nginx下让WordPress支持固定链接的伪静态规则要让nginx支持wordpress固定链接非常简单,需要自己进行添加点配置代码:复制代码代码如下:lo
第一种:win系统下的wordpress程序伪静态。wordpress在win系统下的伪静态前提是必须空间系统支持伪静态设置,而我们也知道一般win系统支持的伪
本文实例讲述了PHP页面静态化——纯静态与伪静态用法。分享给大家供大家参考,具体如下:为什么要静态化页面?当用户访问一个不经常更新的Web页面,PHP接到指示对
LinuxXAMPP下启用WordPress的自定义文件名(伪静态)功能在安装好WORDPRESS后,想启用伪静态的功能,一个是为了好看,另外也是为了更好的SE
伪静态方法一:复制代码代码如下:复制代码代码如下:伪静态方法二:伪静态方法三:复制代码代码如下:伪静态方法四:复制代码代码如下: