当前位置: 首页 > 编程笔记 >

WordPress中用于更新伪静态规则的PHP代码实例讲解

鲁炳
2023-03-14
本文向大家介绍WordPress中用于更新伪静态规则的PHP代码实例讲解,包括了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' || !ishtml" target="_blank">set( $_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

 类似资料:
  • 本文向大家介绍实例讲解PHP页面静态化,包括了实例讲解PHP页面静态化的使用技巧和注意事项,需要的朋友参考一下 页面静态化,顾名思义是将动态的PHP转化为静态的Html,流程如下图 用户访问index.php,如果存在index.html且在有效期内,则直接输出index.html,否则去生成index.html file_put_contents()输出静态文件 ob_start()开启PHP缓

  • 打开网址1:域名/article/359.html ,正常的内容页。 打开网址2:域名//////article/359.html ,还是正常的内容页。 正常来说 应该是 404页面或者自动跳到只有一个 /开头的该页面。 APACHE规则如下: NGINX规则如下: 伪静态处理时: 请问如果修改规则? 打开网址2,跳转到404错误或者301跳转到网址1

  • 本文向大家介绍Java 普通代码块静态代码块执行顺序(实例讲解),包括了Java 普通代码块静态代码块执行顺序(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 如下所示: 运行结果如下: 静态代码块B 静态代码块A 普通的代码块B 构造器B 普通的代码块A 构造器A 可以看到静态代码块被优先执行,然后是父类的普通代码块,父类构造器,然后才是子类的普通代码块,子类构造器 以上这篇Java 普通代

  • 本文向大家介绍php用xpath解析html的代码实例讲解,包括了php用xpath解析html的代码实例讲解的使用技巧和注意事项,需要的朋友参考一下 实例1 实例2 以上就是相关的2个实例内容,以及相关的代码, 感谢大家对呐喊教程的支持。

  • 下面是iis6网站上用的伪静态的规则,现在网站迁移到了iis7.5上,怎么叫下面的伪静态规则生效?

  • 本文向大家介绍基于JavaScript伪随机正态分布代码实例,包括了基于JavaScript伪随机正态分布代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了基于JavaScript伪随机正态分布代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在游戏开发中经常遇到随机奖励的情况,一般会采取先生成数组,再一个一个取的方式发随