私はこの質問からの受け入れられた答えを実行しました、そして、とてもうまくいきます:
フレンドリーなパーマリンクでフロントエンドユーザープロファイルを作成する方法
しかし、/ user/asdasdを入力しただけでは404は起動しません。
私はそれがコードのこのセクションのある時点で起こる必要があると思います:
if ( array_key_exists( 'user', $wp_query->query_vars ) ) {
include (TEMPLATEPATH . '/user-profile.php');
exit;
}
それで、query_varsをチェックして、そしてそれをチェックするためにユーザデータベースを通してそれを実行しますか?
URLがユーザーではない場合、404リダイレクトを統合する方法がよくわかりません。
たぶんそれは私がuser-profile.phpにそれがユーザについて何かを返すかどうかチェックするために置くものである、そうでなければ、404テンプレートをロードしますか?
私はここでの解決策はあなたが一般的に述べたのと同じくらい簡単であろうと信じています。$wp_query->query_vars['user']
がIDではなくユーザー名を含むと便利に仮定すると、
if ( array_key_exists( 'user', $wp_query->query_vars ) ) {
if ( username_exists( $wp_query->query_vars['user'] ) ) {
include( TEMPLATEPATH . '/user-profile.php' );
} else {
include( TEMPLATEPATH . '/404.php' );
}
exit;
}