<?php
class DWQA_Rewrite {
public function __construct() {
add_action( 'after_switch_theme', 'flush_rewrite_rules' );
}
function update_term_rewrite_rules() {
//add rewrite for question taxonomy
global $wp_rewrite;
$options = get_option( 'dwqa_options' );
$page_id = $options['pages']['archive-question'];
$question_list_page = get_post( $page_id );
$rewrite_category = isset( $options['question-category-rewrite'] ) ? sanitize_title( $options['question-category-rewrite'] ) : 'question-category';
$rewrite_tag = isset( $options['question-tag-rewrite'] ) ? sanitize_title( $options['question-tag-rewrite'] ) : 'question-tag';
if ( $question_list_page ) {
$dwqa_rewrite_rules = array(
'^'.$question_list_page->post_name.'/'.$rewrite_category.'/([^/]*)' => 'index.php?page_id='.$page_id.'&taxonomy=dwqa-question_category&dwqa-question_category=$matches[1]',
'^'.$question_list_page->post_name.'/'.$rewrite_tag.'/([^/]*)' => 'index.php?page_id='.$page_id.'&taxonomy=dwqa-question_tag&dwqa-question_tag=$matches[1]',
);
foreach ( $dwqa_rewrite_rules as $regex => $redirect ) {
add_rewrite_rule( $regex, $redirect, 'top' );
}
// Add permastruct for pretty link
add_permastruct( 'dwqa-question_category', "{$question_list_page->post_name}/{$rewrite_category}/%dwqa-question_category%", array( 'with_front' => false ) );
add_permastruct( 'dwqa-question_tag', "{$question_list_page->post_name}/{$rewrite_tag}/%dwqa-question_tag%", array( 'with_front' => false ) );
}
}
}
?>