我在WordPress外部有一个数据库表,需要为其创建端点。我已经创建了一个页面/cars/
我计划使用页面模板生成链接。我希望url看起来像/cars/camaro/
()/cars/%model%/
). 起初,我认为我可以使用端点,但不知道如何根据从模型表中提取的段塞使它们动态。我也不确定使用Permalink结构标签是更容易还是更好。
我甚至不完全确定从哪里开始,我以前创建过“静态”端点,所以我有一个基础可以跳出,但当我到达request
我不知道该怎么办。
/**
* Add endpoint to handle models
*/
function theme_endpoints() {
add_rewrite_endpoint( \'cars\', \'EP_PAGES\' ); // Since cars is our base
}
add_action( \'init\', \'theme_endpoints\' );
/**
* Filter request variables
* @param array $vars
* @return array $vars
*/
function theme_perma_requests( $vars ) {
if( isset( $vars[\'model\'] ) ) {
$vars[\'model_template\'] = true;
}
return $vars;
}
add_filter( \'request\', \'theme_perma_requests\' );
我的意思是,这允许我在模板中包含(这就是为什么我添加了model_template
变量),但它实际上不会重写URL。然后我开始玩add_rewrite_rule()
/**
* Theme rewrite rules
*/
function theme_rewrite_rules() {
add_rewrite_rule( \'^cars/([^/]*)/?$\', \'index.php?page_id=8&model=$matches[0]\', \'top\' );
}
add_action( \'init\', \'theme_rewrite_rules\' );
我已经刷新了永久链接,但重写似乎没有生效,我只能假设规则的编写方式有问题。我需要端点和重写规则,还是只需要其中一个?我是不是做错了?如何实现的permalink结构/cars/camaro/
?