Условные URL переписывает в WordPress - PullRequest
1 голос
/ 16 сентября 2010

Я организую мероприятие и использую WordPress для управления сайтом.У нас есть отдельная таблица (не пользовательская таблица WP), и я бы хотел, чтобы у каждого из них была страница на нашем сайте:

example.com / user1, example.com/user2 и т. Д.

Я читал о WP_Rewrite, но меня немного смущает вопрос о том, как выполнить условное перенаправление, если пользователь существует, в противном случае перейдите к нормальному потоку.

Любая помощь в достижении этого будет оченьспасибо, спасибо!

Редактировать:

Есть одна разовая страница, которую я пытаюсь переслать.Прямо сейчас к нему обращаются:

example.com / user? Username = user1

Ответы [ 2 ]

0 голосов
/ 13 февраля 2011

Я закончил тем, что добавил в URL пользователя тильду (~).Код перезаписи следующий:

// Uncomment only when new rewrites have been made 
//add_filter('init', 'wds_flush');

// Leave uncommented 
add_filter('rewrite_rules_array', 'wds_user_rewrite');
add_filter('query_vars','wds_query_vars');

function wds_flush()
{
     global $wp_rewrite;
     $wp_rewrite->flush_rules();
}
function wds_user_rewrite($rules)
{
        global $wp_rewrite;
        $newRule = array(
                '^~(.+)$' => 'index.php?pagename=user&uid=$matches[1]&act=show',
        );
        $newRules = $newRule + $rules;

        return $newRules;
}
function wds_query_vars($vars)
{
        array_push($vars, 'uid');
        array_push($vars, 'act');
        return $vars;
}
0 голосов
/ 16 сентября 2010

Если я понял вашу проблему, вы создадите страницу для каждого пользователя, поэтому в структуре постоянных ссылок добавьте тег% postname% и, возможно, установите базовый плагин без категории.

Проверьте, создан ли .htaccess с конфигурацией, которую wp записывает для этой структуры, если нет, вы можете просто скопировать и вставить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...