私は私のものとほとんど同じような要件でこのページに出くわした
私は同じ機能を達成する必要がありますが、私はまたこれらすべてのURLがマップされるページにいくつかのパラメータを渡したいと思います。例を言う
http://mysite.com/test/link1
http://mysite.com/test/link2
http://mysite.com/test/link3
同じURLにマッピングしたい
http://mysite.com/test/finalDestination
それと一緒に私はまた他のいくつかのパラメータを送信したいと思います
私は私のカスタムロジックのためにそのページでそれらを使うことができるように私はPOST requestのリクエストパラメータとしてそれらを送ることができJSP/Javaでそれをする方法を知って
どのように私はこれを達成することができますphp.myを使用してワードプレスですprefrencesは、任意のクエリ文字列を使用することではありません。
それとも私はのようにURLを作成する場合のように可能ですか
http://mysite.com/test/user1
http://mysite.com/test/user2
http://mysite.com/test/user3
user1などがデータベースから取得され、それらがアプリケーションを通じて一意であることを確認し、これらのURLを同じエンドポイントにマッピングすることができます。最終ページでユーザー名を取得する方法を教えてください。
前もって感謝します
あなたはあなたが言及した質問と同じ答えを使うことができます(私はそれに答えました)。引数を渡すように変更する方法は次のとおりです。
<?php
add_action('init', 'add_my_rule');
function add_my_rule()
{
global $wp;
$wp->add_query_var('args');
add_rewrite_rule('test\/finaldestination\/(.*)','index.php?pagename=about&args=$matches[1]','top');
}
?>
'finaldestination'が常に同じで、ページ名(slug)が 'about'であると仮定します(両方を変更できます)。このページにカスタムテンプレートを適用し、テンプレート上でこれを行います。
//if you visit http://.../test/finaldestination/name/romeo, then $params will be name/romeo. You can explode this and get the value.
$params = get_query_var('args');
このコードをファイルに入れたら、Settings>Permalinks
に移動して保存ボタンをクリックしてください。私はこれを試したことはありませんが、最近のプロジェクトで似たようなものを使っていて、うまくいくと確信しています。
ページのメインインスタンスを参照して、重複ページのヘッダーに正規のURLを追加するようにしてください。とインデックス)。
それが普通のWordPressユーザーであるならば、テーマのauthor.phpまたはパーマリンク%author%にも行くでしょう。そのようなことについてのデータにアクセスすることができます。
$author = get_user_by('slug', $author_name);
$author_id = (int)$author->ID;
$name = $author->first_name.' '.$author->last_name;