我正在使用register_post_type构建一个新的WordPress主题,以创建一个名为“列表”的自定义帖子类型。
我希望每个商家信息都有以下永久链接结构:
http://www.mysite.com/post-author/listing-title
我不太确定如何使用法典中列出的CPT控制来实现这一目标。任何帮助或链接将不胜感激!
答案 0 :(得分:0)
实际上,您需要定义自己的自定义网址重写规则才能实现此目标...... 不自定义帖子的内置功能。有good example in the Codex可以让你入门。
这是一个快速的未经测试的首先想到你如何做到这一点:
add_filter('rewrite_rules_array','wp_insertMyRewriteRules');
add_filter('query_vars','wp_insertMyRewriteQueryVars');
add_filter('init','flushRules');
// Remember to flush_rules() when adding rules
function flushRules(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
// Adding a new rule
function wp_insertMyRewriteRules($rules)
{
$newrules = array();
$newrules['([^/]+)/([^/]+)$'] = 'index.php?author=$matches[1]&listing-title=$matches[2]';
return $newrules + $rules;
}
// Adding the id var so that WP recognizes it
function wp_insertMyRewriteQueryVars($vars)
{
array_push($vars, 'listing-title');
return $vars;
}
此应该指向从http://www.mysite.com/me/my-listing
到http://www.mysite.com/index.php?author=me&listing-title=my-listing
的所有链接。在WordPress得到它之后处理查询完全取决于你。