zoukankan      html  css  js  c++  java
  • 黄聪:wordpress自定义post_type,并且自定义固定链接

    <?
    class zsjh
    {
        function init()
        {
            add_action( 'init', array($this,'create_zsjh') );
            add_filter('post_type_link', array($this, 'get_permalink') ,1 ,3 );
        }
        
        function create_zsjh()
        {
            $labels = array(
                'name' => '招生计划',   
                'singular_name' => '招生计划',   
                'add_new' => '添加招生计划',   
                'add_new_item' => '添加一个新招生计划',   
                'edit_item' => '编辑招生计划',   
                'new_item' => '新招生计划',   
                'view_item' => '查看',   
                'search_items' => '搜索',   
                'not_found' =>  '还没有添加招生计划哦~',   
                'not_found_in_trash' => '还没有删除的招生计划哦~',    
                'parent_item_colon' => '',  
                'menu_name' => '招生计划',
                'menu_position' => 5
            );   
            $args = array(   
                'labels' => $labels,
                'public' => true,
                'publicly_queryable' => true,
                'show_ui' => true,
                'show_in_menu' => true,
                'query_var' => true,
                'capability_type' => 'post',
                'has_archive' => true,
                'hierarchical' => false,
                'supports' => array('title','editor','thumbnail','comments','custom-fields'),
            );
            
            //自定义一个hc_post_type_zsjh的文章类型
            register_post_type( 'hc_post_type_zsjh', $args);
            //自定义固定链接规则
            add_action('generate_rewrite_rules',array($this, 'jihua_rewrite_rules') );
        }
        
        function jihua_rewrite_rules( $wp_rewrite )
        {
            global $wp_rewrite;
            $wp_rewrite->add_permastruct('hc_post_type_zsjh', '/jihua/%jihua_id%.html', false);
            $new_rules = array('jihua/([0-9]+)?.html$' => 'index.php?post_type=hc_post_type_zsjh&p=$matches[1]' );
            $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; 
        }
    
        function get_permalink( $permalink, $post, $leavename )
        {
            //替换%jihua_id%为当前文章ID
            $permalink = str_replace("%jihua_id%", $post->ID, $permalink);
            return $permalink;
        }
    }
    
    $zsjh = new zsjh();
    $zsjh->init();
    ?>
  • 相关阅读:
    小程序开发点滴积累
    使用openssl在windows 10下本地xampp配置https开发环境
    linux networking
    CGI,FastCGI,PHP-FPM,PHP-CLI,modPHP
    centos 7.2 64位 docker安装lamp环境
    反模拟类游戏外挂 转
    鼠标 hook 源码 C#版
    C# 鼠标连击源码 转
    win32 API 在win10 64位失效
    利用浏览器外部协议(URL Procotol)打开本地exe文件
  • 原文地址:https://www.cnblogs.com/huangcong/p/4249370.html
Copyright © 2011-2022 走看看