0

PHP と jQuery を使用して作成したカスタム ソーシャル ネットワーク機能を備えた WordPress ベースのサイトがあります。

現在、ユーザーがアカウントにサインアップすると、WordPress はアドレス www.mysite.com/members/username のページを自動的に作成します。'username' はユーザー固有の URL アドレスです。このようにして、各メンバーは独自の URL アドレスでアクセスできる独自のページを持ちます。

問題は、メンバーベースが成長するにつれて、各ユーザーに対して何千ものプロファイルページが作成されることになり、これが大きな混乱になる可能性があることです.

したがって、このプロセスを簡素化することを考えていました。ユーザーごとに WordPress ページを作成する代わりに、URL アドレスで見つかった「ユーザー名」の末尾に基づいてコンテンツを動的にロードする 1 つのプロファイル WordPress ページを作成します。

これは可能ですか?もしそうなら、どうすれば始められますか?

事前にご協力いただきありがとうございます。

4

3 に答える 3

2

ワードプレスの使用:

/members/username の新しい書き換えルールを作成する

function members_rewrite_rules()
{
  add_rewrite_rule('members/(.+)/?$', 'index.php?pagename=members&username=$matches[1]', 'top');
}
add_action( 'init', 'members_rewrite_rules' );

ユーザー名変数を $wp_query に追加します。

function members_query_vars($query_vars)
{
  $query_vars[] = 'username';
  return $query_vars;
}
add_filter('query_vars', 'members_query_vars');

次に、「メンバー」テンプレート ページでクエリ変数を取得し、それを使用してメンバー プロファイルをロードできます。

<?php
get_header();
$username = get_query_var('username');
// load the user details using $username
get_footer();
?>
于 2012-11-02T15:57:38.760 に答える
2
# .htaccess
RewriteRule ^members/([0-9a-z]+)/?$ ?members&username=$1 [NC,L]

// members.php
$username = $_GET['username'];
$result = mysql_query("SELECT age, location FROM members WHERE username = '$username'");
$data = mysql_fetch_assoc($result);

echo "age: ".$data['age'];
echo "location: ".$data['location'];

まあ、そのようなもの。すべてのユーザーが同じページ (ファイル) members.php を使用しています。データをロードして詳細を出力するだけです。

于 2012-11-02T14:35:07.083 に答える
0

URL 書き換えを調べたい。

于 2012-11-02T14:25:22.400 に答える