申し訳ありませんが、私は自分の質問に答えます。
ショップページは実際のワードプレスページではなく、「製品」ポストタイプのアーカイブページであるため、私の目的のためにエンドポイントがうまく機能しません。適切な方法は、代わりにadd_rewrite_ruleを使用することです:
add_action('init', 'city_add_rewrite_rules');
function city_add_rewrite_rules() {
$shop_page = ($shop_page_id = wc_get_page_id('shop')) && get_post($shop_page_id) ? get_page_uri($shop_page_id) : 'shop';
add_rewrite_tag('%sr_city%', '([^&]+)');
add_rewrite_rule(
"^$shop_page/city/([^/]+)/?$", 'index.php?post_type=product&sr_city=$matches[1]', 'top'
);
//pagination
add_rewrite_rule(
"^$shop_page/city/([^/]+)/page/([0-9]+)?$", 'index.php?post_type=product&sr_city=$matches[1]&paged=$matches[2]', 'top'
);
}
このページを見ましたか?行動としてそれを行う必要がありますか?どのバージョンのWCを使用していますか? – Difster
@Difster、私が "site.com/shop/city/new-york/"に行くと、私は通常のショップページ(404ではない)が空のコンテンツを取得します。私は各都市ごとにきれいなURLを持っていたいと思いますし、終点がこれを達成する最も簡単な方法だと思いました。 WCバージョンは2.6.14です。ありがとう。 – c00x