私は1つのURLに複数のエンドポイントを追加しようとしています:
http:// localhost:1000 /管理リード/ lead_id/1000/product_id/123455
しかしこの方法では、クエリvar lead_id
は1000/product/123455
と等しくなり、1000
とは等しくなりません。
次のようにして、すべてが正しく行われます。
http:// localhost:1000 /管理リード/ lead_id/1000 /?product_id = 123455
だから私は私がいくつかの書き換えルールを追加する必要があると思うので、Wordpressはlead_idとproduct_idが2つのクエリ変数であることを理解します。
エンドポイントの追加方法:
function add_lead_management_endpoints() {
add_rewrite_endpoint( 'lead_id', EP_PAGES );
add_rewrite_endpoint( 'product_id', EP_PAGES );
}
add_action( 'init', 'add_lead_management_endpoints' );
この文脈についてはよくわからない、それはカスタム投稿タイプなのか、それとも単なるページなのか。
これはあなたが探しているものかもしれません -
function add_lead_management_endpoints() {
add_rewrite_rule(
'manage-lead/lead_id/([0-9]{1,})/product_id/([0-9]{1,})',
'index.php?pagename=manage-lead&lead_id=$matches[1]&product_id=$matches[2]',
'top'
);
add_rewrite_tag( '%lead_id%', '([^&]+)' );
add_rewrite_tag( '%product_id%', '([^&]+)' );
}
add_action( 'init', 'add_lead_management_endpoints' );
これを有効にするには、パーマリンクをフラッシュする必要があります(設定 - >パーマリンクにアクセスしてください)。