我想像这样创建自己的urlhttp://localhost/wptest/content/programs/trainings-conferences/
我已经创建了自己的插件并使用了这段代码。
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();
}
}
但它不工作,显示404页。当我使用这个url时,它可以工作
http://localhost/wptest/?category=programs&category_slug=trainings-conferences
最合适的回答,由SO网友:Gregory 整理而成
您的重写模式缺少一个“&;”之间$matches[1]
&;content_slug
function wpyog_add_rewrite_rules(){
add_rewrite_rule(\'^content/([^/]*)/([^/]*)/?\',\'index.php?content_category=$matches[1]&content_slug=$matches[2]\',\'top\');
}