最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

plugin development - How to create custom dynamic url

programmeradmin0浏览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

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

Share Improve this question asked Jun 11, 2019 at 12:49 SudhirSudhir 1136 bronze badges 3
  • 1 Missing & in rewrite pattern. – birgire Commented Jun 11, 2019 at 12:53
  • @birgire Can you please correct it in proper way – Sudhir Commented Jun 11, 2019 at 12:56
  • also did you resave/flush the permalinks after changing the rewrite rules? – Tom J Nowell Commented Jun 11, 2019 at 13:08
Add a comment  | 

1 Answer 1

Reset to default 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');
}
发布评论

评论列表(0)

  1. 暂无评论