请尝试以下代码:
add_filter( \'query_vars\', \'my_query_vars\' );
function my_query_vars( $vars ) {
$vars[] = \'catname\';
return $vars;
}
add_action( \'generate_rewrite_rules\', \'my_rewrite_rules\' );
function my_rewrite_rules( $wp_rewrite )
{
$products_page_id = 1; //your product\'s page ID
$wp_rewrite->rules = array(
\'products/?([0-9]{1,})/?$\' => $wp_rewrite->index . \'?page_id=\'.$products_page_id.\'&paged=\' . $wp_rewrite->preg_index( 1 ),
\'products/(.+?)/?([0-9]{1,})/?$\' => $wp_rewrite->index . \'?page_id=\'.$products_page_id.\'&catname=\'.$wp_rewrite->preg_index( 1 ).\'&paged=\' . $wp_rewrite->preg_index( 2 ),
\'products/(.+?)/?$\' => $wp_rewrite->index . \'?page_id=\'.$products_page_id.\'&catname=\'.$wp_rewrite->preg_index( 1 ),
) + $wp_rewrite->rules;
}
您将获得cat\\U名称,而不是as
get_query_var(\'catname\');
并分页为
get_query_var(\'paged\');
对以上代码的解释很少:这会在每次请求www.yourdomain时向WordPress添加重写规则。com/products/get-rewrite到(意味着内容来自)www.yourdomain。com/索引。php?page\\u id={$products\\u page\\u id}&;paged=2(例如)。
$producst\\u page\\u id是在管理中使用shorcode的产品页面的id-因此应该显示哪些内容的页面。paged是一个参数,用于获取产品的另一页。catname是另一个参数,用于按类别过滤退回的产品。