web-dev-qa-db-ja.com

作成者アーカイブにカスタムURL URL URL URLホルダーを追加する方法

私は、ユーザーがアカウントを作成してディレクトリから項目のリストを作成できるようにするディレクトリサイトを持つクライアントと仕事をしています。現時点では、ユーザーがアカウントを作成するたびに、彼女は次のようなプロフィールURLを取得します。

domain.com/member/%author%

これは簡単で達成されます。

$wp_rewrite->author_base = 'member';

今、私はそれらのユーザーにリストを作成する能力を許可する必要があります、それはこの種のURL構造をもたらすべきです:

domain.com/member/%author%/%list%

これまでのところ、私はこれらのリストをカスタム投稿タイプとして作成しています。 WP_Rewriteで私が見るすべての記事とStack Exchangeの投稿は、このようなURLの書き換えをカバーしていません。これは可能ですか?これをどのように行うことができるかについて、何かアドバイスはありますか。

5
james

オプション1

カスタム投稿タイプはこのようなURLを生成すると思います

domain.com/%custom-post-type%/%list%

メインURLにはカスタムタイプの前には作者がいないので、作者は動的なので関数を介してこれを行う必要があります。

RewriteRule ^members/%author%/(.*)$ domain.com/%custom-post-type%/$1

これはカスタム投稿タイプのURLを特に変更するわけではありませんが、必要に応じて変更することができます https://Gist.github.com/4336843

オプション2

あるいは、以下のようなURLでカスタム投稿タイプが変わらない場合は、.htaccessでこれを実装できるはずです。書き換えの際に作者が考慮するようにします

domain.com/members/%author%/%custom-post-type%/%list%

RewriteRule ^members/(.*)/(.*)$ domain.com/members/$1/%custom-post-type%/$2

これはURLの書き換え全般について非常に良い説明を持っています http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

オプション3

また、他の場所で使用していない場合は、カスタム投稿タイプのURL全体を書き換えることもできます。

register_post_type();を受け入れる'rewrite' => array ($slug)

より多くの情報

http://shibashake.com/wordpress-theme/custom-post-type-permalinks

http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2

1
MonteCristo

add_rewrite_rule()が答えになるはずです http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

手動でauthor_rewrite_rulesをフィルタリングすることもできます

0
AriePutranto

私は以下のプラグインがあなたをもっと助けてくれることを願っています: http://wordpress.org/extend/plugins/permalink-editor/

このプラグインは、コーディングに関する知識がなくても、パーマリンクを必要に応じて書き換えます。

0
jothikannan