web-dev-qa-db-fra.com

Ajouter une extension .html aux taxonomies de type publication personnalisé

Je souhaite avoir l'extension .html dans les URL de taxinomie de type publication personnalisée. Ma taxonomie de type de publication personnalisée s’appelle "product_cat". J'aurai besoin de quelque chose comme:

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

Essayé celui-ci, en insérant dans functions.php, sans succès:

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');
}

Autres tentatives:

J'ai également utilisé le plugin Type de message personnalisé Permalink et joué autour de la ligne 559. Le code de la ligne 559 à la ligne 561 a été remplacé par le code suivant:

$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' );

Cela renverra le .html dans l'URL de la vue de la taxonomie, mais donnera un 404.

1

J'ai testé votre première tentative avec une règle de réécriture, cela fonctionne

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');
}

mais vous avez _ pas - l'aviez-vous remarqué en donnant votre exemple sous la forme www.mydomain.com/product-category/product-category-name.html

Si ce n'est pas une erreur, c'est peut-être que vous avez une autre règle en conflit avec elle? et aussi avez-vous vidé les règles? Vous pouvez vérifier en utilisant le plugin Rewrite Rules Inspector et vous pouvez également l'utiliser pour effacer les règles si vous ne l'avez pas déjà fait.

1
Mark Davidson