如何创建动态页面?

时间:2012-07-20 作者:Deepak Mittal

我想创建一些类似于buddypress对成员页面所做的事情。对于eg;http://www.example.com/members/foo

http://www.example.com/members/bar

我试着查找buddypress代码,发现它们没有使用自定义的帖子类型或自定义的分类法。看起来他们也没有使用add\\u rewrite\\u rule()。

我希望有类似的东西,我的插件将从URL中获取“foo”,并在此基础上生成内容。最好的方法是什么?

UPDATE:

我遵循了这条线索上的说明,这正是我想要的:How to create a front end user profile with a friendly permalink

代码如下:

    add_filter( \'query_vars\', \'analytics_rewrite_add_var\' );
function analytics_rewrite_add_var( $vars )
{
    $vars[] = \'analytic\';
    return $vars;
}
function add_analytic_rewrite_rule(){
    add_rewrite_tag( \'%analytic%\', \'([^&]+)\' );
    add_rewrite_rule(
        \'^analytics/([^/]*)/?\',
        \'index.php?analytic=$matches[1]\',
        \'top\'
    );
}
add_action(\'init\', \'add_analytic_rewrite_rule\');
add_action( \'template_redirect\', \'analytics_rewrite_catch\' );
function analytics_rewrite_catch()
{
    global $wp_query;

    if ( array_key_exists( \'analytic\', $wp_query->query_vars ) ) {
        include ( get_stylesheet_directory() . \'/html/analytics.php\');
        exit;
    }
}
然而,/分析/foo/仍然给我一个404。我做错了什么?

2 个回复
最合适的回答,由SO网友:Androliyah 整理而成

以下是答案。对于将来的参考,Deepak,您需要实际发布解决方案作为答案。相反,您在自己的问题中发布了答案,然后对此发表了评论。请不要那样做。

function analytics_rewrite_add_var( $vars ) {
    $vars[] = \'analytic\';
    return $vars;
}
add_filter( \'query_vars\', \'analytics_rewrite_add_var\' );

function add_analytic_rewrite_rule() {
    add_rewrite_tag( \'%analytic%\', \'([^&]+)\' );
    add_rewrite_rule(
        \'^analytics/([^/]*)/?\',
        \'index.php?analytic=$matches[1]\',
        \'top\'
    );
}
add_action(\'init\', \'add_analytic_rewrite_rule\');

function analytics_rewrite_catch() {
    global $wp_query;

    if ( array_key_exists( \'analytic\', $wp_query->query_vars ) ) {
        include ( get_stylesheet_directory() . \'/html/analytics.php\');
        exit;
    }
}
add_action( \'template_redirect\', \'analytics_rewrite_catch\' );

SO网友:Deepak Mittal

谢谢你,伙计。我的问题可能不清楚。我遇到了完全相同的问题:How to create a front end user profile with a friendly permalink

我用我在上面的问题中粘贴的代码修复了它。我忘了刷新规则,IRC上的MadLem让我这么做,现在它正在运行。

抱歉,我不太清楚,感谢您抽出时间回答:)

结束

相关推荐