wordpress自定义分类文章的URL规则

作者:stoat 发布时间:2015-01-28 分类:wordpress

给wordpress自定义分类文章添加.html后缀。默认生成的自定义文章类型中,URL格式为/xx/xxx,而目标url为/xx/xxx.html,以下代码添加至相应文件中即可。

//以下自定义文章类型
add_action( 'init', 'create_products', 0 );
function create_products(){
$args = array(
    'publicly_queryable' => true,
    'query_var' => true,
    'rewrite' => false,//此处为false
            ...
); 
register_post_type('products',$args);
}


add_action('init', 'my_rewrite');
function my_rewrite() {
    global $wp_rewrite;
    $structure = '/products/%product%.html';//自定义文章URL规则
    //$structure = '/products/%year%/%mounth%/%product%.html';//自定义文章URL规则,类/年/月
    $wp_rewrite->add_rewrite_tag("%product%", '([^/]+)', "products=");
    $wp_rewrite->add_permastruct('product', $structure, false);
    $wp_rewrite->flush_rules();//刷新重写规则,重新生成重写规则并保存到数据库。
}

关于$wp_rewrite


在wordpress中可使用wp_rewrite实现自定义伪静态。
WP_Rewrite是WordPress中负责管理重写规则的类,你可以通过WP_Rewrite使用美观的固定链接功能。WP_Rewrite可通过若干方法充数据库的值中生成重写规则。WordPress在升级重新规则、查找日志、页面、分类索引等指定网页的URL时,都会在内部运行WP_Rewrite。WP_Rewrite作为一个单独的实例全局变量,定义于wp-includes/rewrite.php中。而$wp_rewrite在wp-settings.php中初始化。
详情链接:http://codex.wordpress.org/Function_Reference/flush_rewrite_rules

原文地址:wordpress自定义分类文章的URL规则 by 雪鼬博客

标签:wordpress

评论已关闭