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();
    ?>
  • 相关阅读:
    odoo14系列笔记-基本进销存(二)
    odoo14系列笔记-基本进销存(一)
    PVE另一种方法使用中科大的镜像服务器 NGINX反向代理
    git 国内加速
    VirtualBox开启套娃模式-打开嵌套 VT-x/AMD-V 功能
    K8S集群安装(基于DEIBAN,proxmox)
    JS语法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性
    8个非常实用的Vue自定义指令
    require和import的区别
    js异步加载之defer、async、type=module
  • 原文地址:https://www.cnblogs.com/huangcong/p/4249370.html
Copyright © 2011-2022 走看看