黄聪:wordpress自定义post_type,并且自定义固定链接

时间:2021-10-10 00:02:43
<?
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();
?>