0

I want to create my own url like this http://localhost/wptest/content/programs/trainings-conferences/

I have create my own plugin and use this code.

add_action('init','wpyog_add_rewrite_rules');
add_action('init','wpyog_add_rewrite_rules');

function wpyog_add_rewrite_rules(){
    add_rewrite_rule('^content/([^/]*)/([^/]*)/?','index.php?content_category=$matches[1]content_slug=$matches[2]','top');
}

add_action('query_vars','wpyog_add_query_vars');
function wpyog_add_query_vars( $qvars ) {
    $qvars[] = 'content_category';
    $qvars[] = 'content_slug';
    return $qvars;
}

add_action('template_redirect','wpyog_template_redirect');
function wpyog_template_redirect(){
   if( get_query_var('content_slug') && get_query_var('content_category') ) 
  {
    include( WPYog_Ukraine_PATH.'templates/frontend_template.php' );
    exit();
    }
 }

But its not working its shows 404 page. While I am using this url its works http://localhost/wptest/?category=programs&category_slug=trainings-conferences

  • 1
    Missing & in rewrite pattern. – birgire Jun 11 at 12:53
  • @birgire Can you please correct it in proper way – Sudhir Jun 11 at 12:56
  • also did you resave/flush the permalinks after changing the rewrite rules? – Tom J Nowell Jun 11 at 13:08
1

your rewrite patern miss a "&" between $matches[1] & content_slug

function wpyog_add_rewrite_rules(){
    add_rewrite_rule('^content/([^/]*)/([^/]*)/?','index.php?content_category=$matches[1]&content_slug=$matches[2]','top');
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.