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
相关推荐
-
Nginx下WordPress链接(url伪静态)301永久重定向实现方法
问题: 在几个blog程序中折腾的结果~ 导致url连续二次变化.这是第三次了. nginx 通过rewrite 使用 "permanent;"参数 成301永久url重定向. 以往的url结构 http://www.jb51.net/post/199/ 现在需要的url结构 http://www.jb51.net/archives/199.html 过程: 学习nginx的配置规则,学习正则表达式(我也没接触过,学呗.) nginx的中文维科:http://wiki.nginx.or
-
Nginx下让WordPress支持固定链接的伪静态规则
Nginx下让WordPress支持固定链接的伪静态规则 要让nginx支持wordpress固定链接非常简单,需要自己进行添加点配置代码: 复制代码 代码如下: location / {if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; }if (-f $request_filename/index.php){ rewrite (
-
Wordpress php 分页代码
效果: 将下面的函数放到你的主题的 functions.php 文件中: 复制代码 代码如下: function theme_echo_pagenavi(){ global $request, $posts_per_page, $wpdb, $paged; $maxButtonCount = 9; //显示的最多链接数目 if (!is_single()) { if(!is_category()) { preg_match('#FROM\s(.*)\sORDER BY#siU', $reques
-
WordPress分页伪静态加html后缀
问题 当文章有分页的时候,WordPress生成的永久链接是page.html/2的形式,前面一段是文章的$link,后面的数字代表分页$number.那么问题来了,挖掘--不对,从逻辑上讲这到底是个html文件还是一个目录呢? 难看 在.html这个静态文件后面加上一个/和数字简直令人摸不着头脑,这还只是其次,重要的是,我发现搜索引擎根本不收录这样奇怪的链接,这个真是无法接受,我写的东西首尾都很重要,不能因为分个页就被忽视了. 不收录 拿这篇文章来看,搜索文章第一页的内容,谷歌收录了: 搜索文
-
WordPress中用于更新伪静态规则的PHP代码实例讲解
flush_rewrite_rules() 函数用来删除然后根据现有的条件重写伪静态规则,也就是刷新一次伪静态规则了. 先来说一下,通常在主题或者插件添加新的自定义文章类型的时候调用,防止新的自定义文章类型的文章出现 404 的情况,或者很多时候我们都需要在主题启用的时候执行一些代码,比如布置一些数据库表单.跳转到设置页面等等,WordPress 本身并没有提供相关的钩子,网上也有很多五花八门的实现方法,经过我的研究,发现了可能是最优的方法,下边分享给大家: /** *WordPress 在主题
-
详解WordPress中用于更新和获取用户选项数据的PHP函数
update_user_option()函数 update_user_option()函数作用利用全局博客权限更新用户选项. 用户选项类似于用户元数据,唯一的不同之处在于用户选项支持全局博客选项.如果'global'参数为False(默认情况下),update_user_option会预先将WordPress表前缀改成选项名称. [函数使用] <?php update_user_option( $user_id, $option_name, $newvalue, $global ) ?> [函
-
WordPress中用于创建以及获取侧边栏的PHP函数讲解
register_sidebar()(创建侧边栏) 建立一个侧边栏,用来放置小工具.这个函数使用的时候请放在一个函数里,挂载到 "widgets_init" 钩子. 用法 register_sidebar( $args ); 参数 $args (字符串 | 数组)(可选)要创建的侧边栏的参数. 默认值: $args = array( 'name' => __( 'Sidebar name', 'theme_text_domain' ), 'id' => 'unique-si
-
Numpy中转置transpose、T和swapaxes的实例讲解
利用Python进行数据分析时,Numpy是最常用的库,经常用来对数组.矩阵等进行转置等,有时候用来做数据的存储. 在numpy中,转置transpose和轴对换是很基本的操作,下面分别详细讲述一下,以免自己忘记. In [1]: import numpy as np In [2]: arr=np.arange(16).reshape(2,2,4) In [3]: arr Out[3]: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11
-
对angularJs中controller控制器scope父子集作用域的实例讲解
1.ctrl1是父级控制器,ctrl2和ctrl3都是ctrl1的子级控制器, 2.父级ctrl1中name值的改变会影响ctrl2和ctrl3中name值的改变, 3.但是ctrl2有自己的name输入传的值,不会影响ctrl1和ctrl3,这就是继承隔离, 4.ctrl3无name赋值就继承父级ctrl1中的name的值. 一.继承隔离的情况 <div ng-app="module"> <div ng-controller="ctrl1">
-
Python中join()函数多种操作代码实例
这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os.path.join()两个函数,具体作用如下: . join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回 对序列进行操作(分别使用' ' .' - '与':'作为分隔符) a=['1aa','
-
C++ STL中五个常用算法使用教程及实例讲解
目录 前言 sort()排序 常用遍历算法for_each() 常用遍历算法 搬运transform() 查找算法find 删除操作erase() 实例应用 前言 在C++中使用STL算法都要包含一个算法头文件 #include<algorithm> 这样我们才能使用这个STL算法函数 sort()排序 Sort函数包含在头文件为#include<algorithm>的c++标准库中,是一个专门用来排序的高效的函数,我们在解决问题时可以方便快捷的排列顺序. sort()函数中有三个
-
WordPress中用于获取搜索表单的PHP函数使用解析
get_search_form 函数在 WordPress 中是用来提取预设的搜索表单或者默认的搜索表单的.因为官方这个函数没有中文的,所以我就简单写了一下. 描述 get_search_form 函数在 WordPress 中是用来提取自定义搜索表单或者默认的搜索表单的. 显示自定义表单还是显示默认表单,完全取决于您的主题中是否有search.php文件, 如果有该文件,则自动调用该文件,如果没有则显示默认的搜索表单. 使用 <?php get_search_form($echo = true
-
iOS开发中实现一个简单的图片浏览器的实例讲解
一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件的对象,需要添加监听方法 左边按钮 右边按钮 二.实现基本功能的程序 复制代码 代码如下: // // YYViewController.m // 03-图片浏览器初步 // // Created by apple on 14-5-21. // Copyright (c) 2014年 itcase. All rights rese
-
WordPress中用于获取及自定义头像图片的PHP脚本详解
get_avatar()(获取头像) get_avatar() 函数用来获取置顶邮箱或者用户的头像代码,在评论列表中非常常用. 这个函数提供一个 get_avatar 过滤器,用来过滤头像的 Html 代码(img 标签). 如果在后台 "设置" 的 "讨论" 里关闭 "显示头像选项" 则返回 False. 用法 get_avatar( $id_or_email, $size, $default, $alt ); 参数 $id_or_email
随机推荐
- 非常实用的js验证框架实现源码 附原理方法
- JavaScript正则表达式之multiline属性的应用
- iredmail下安装脚本分析(一)---get_all.sh 文件所在目录为PKGS
- sql server 2012安装程序图集
- js遍历td tr等html元素
- PHP实现对站点内容外部链接的过滤方法
- python通过urllib2获取带有中文参数url内容的方法
- Docker学习笔记之Docker部署Java web系统
- PHP判断图片格式的七种方法小结
- 网页中的图片查看器viewjs使用方法
- nginx+iis实现简单的负载均衡
- sql数据库不能直接用instr函数
- Flax3.0汉化版下载[好用的flash文字特效工具]下载
- 基于JQuery的一句话搞定手风琴菜单
- jQuery中:not选择器用法实例
- linux托盘不断闪烁之解决方法
- 详解Android开发之MP4文件转GIF文件
- 编写Python小程序来统计测试脚本的关键字
- 微信小程序wx.uploadfile 本地文件转base64的实现代码
- 安装docker-compose的两种最简方法