web-dev-qa-db-ja.com

カスタム投稿タイプの分類法に.html拡張子を追加する

カスタム投稿タイプの分類法のURLに.html拡張子を付けたい。私のカスタム投稿タイプの分類法は "product_cat"です。私は何かが必要になります:

www.mydomain.com/product-category/product-category-name.html

これを試してみましたが、成功せずにfunctions.phpを挿入しました。

add_action('init', 'add_html_ext_to_custom_post_type_taxonomies');
function add_html_ext_to_custom_post_type_taxonomies() {
    add_rewrite_rule('^product_cat/([^/]+)\.html', 'index.php?product_cat=$matches[1]', 'top');
}

さらに試してみる:

また、私は カスタム投稿タイプパーマリンク プラグインを使用し、559行目を再生しました。

$termlink = str_replace( $wp_home, $wp_home, $termlink );
$str = rtrim( preg_replace("/%[a-z_]*%/","",get_option("permalink_structure")) ,'/');//remove with front
return str_replace($str, "", $termlink.'.html' );

これは、分類ビューページのURLに.htmlを返しますが、404を返します。

私はそれがうまくいく書き換えルールを使ってあなたの最初の試みをテストしました

add_action('init', 'add_html_ext_to_custom_post_type_taxonomies');
function add_html_ext_to_custom_post_type_taxonomies() {
    add_rewrite_rule('^product_cat/(.+)\.html', 'index.php?product_cat=$matches[1]', 'top');
}

www.mydomain.com/product-category/product-category-name.htmlのようにあなたの例を与えるときにあなたは_いない - あなたはこれに気づいたでしょう

それが間違いではない場合、それはあなたがそれと衝突する別の規則を持っているのかもしれません?そしてまた、あなたはルールをフラッシュしましたか? Rewrite Rules Inspector プラグインを使用して確認できます。まだ行っていない場合は、これを使用してルールをフラッシュすることもできます。

1
Mark Davidson