Hallo,
das Permalink-Modul von WP erlaubt ein Anhängen von .html an die Urls leider nur bei posts, nicht bei pages. Bei der Umstellung einer alten statischen Site auf WP als CMS müssen aber die Urls gleich bleiben und die haben .html hinten dran.
Es gibt Plugins dafür, die funktionieren. Ich würde aber gerne wissen, was genau die machen und welcher Code daher der optimale wäre. Optimal, d.h. z.B. (für mich), möglichst einfach und mit Variablen arbeitend, die von zukünftigen WP-Updates vermutlich nicht (so schnell) betroffen sein werden. Ohne nennenswerte Performance-Einbußen wäre auch schön.
Kann bitte jemand die folgenden Plugin-Codes "deuten"? Drängt sich einer der Codes auf?
1. Plugin ".html on pages"
[size=10]add_action('init', 'html_page_permalink', -1);[/SIZE]
[size=10]register_activation_hook(__FILE__, 'active');[/SIZE]
[size=10]register_deactivation_hook(__FILE__, 'deactive');[/SIZE]
[size=10]function html_page_permalink() {[/SIZE]
[size=10] global $wp_rewrite;[/SIZE]
[size=10]if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){[/SIZE]
[size=10] $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';[/SIZE]
[size=10]}[/SIZE]
[size=10]}[/SIZE]
[size=10]add_filter('user_trailingslashit', 'no_page_slash',66,2);[/SIZE]
[size=10]function no_page_slash($string, $type){[/SIZE]
[size=10]global $wp_rewrite;[/SIZE]
[size=10] if ($wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes==true && $type == 'page'){[/SIZE]
[size=10] return untrailingslashit($string);[/SIZE]
[size=10]}else{[/SIZE]
[size=10]return $string;[/SIZE]
[size=10]}[/SIZE]
[size=10]}[/SIZE]
[size=10]function active() {[/SIZE]
[size=10] global $wp_rewrite;[/SIZE]
[size=10] if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){[/SIZE]
[size=10] $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';[/SIZE]
[size=10]}[/SIZE]
[size=10]$wp_rewrite->flush_rules();[/SIZE]
[size=10]} [/SIZE]
[size=10] function deactive() {[/SIZE]
[size=10] global $wp_rewrite;[/SIZE]
[size=10] $wp_rewrite->page_structure = str_replace(".html","",$wp_rewrite->page_structure);[/SIZE]
[size=10] $wp_rewrite->flush_rules();[/SIZE]
[size=10] }[/SIZE]
[size=10]?>
[size=10]
Alles anzeigen
[/SIZE]
2. Code für functions.php
[/SIZE]
[size=10]add_action( 'init', 'custom_page_rules' );[/SIZE]
[size=10]function custom_page_rules() {[/SIZE]
[size=10]global $wp_rewrite;[/SIZE]
[size=10]$wp_rewrite->page_structure = $wp_rewrite->root . 'page/%pagename%.html';[/SIZE]
[size=10]}[/SIZE]
[size=10]
Alles anzeigen
3.Plugin "Add .html on pages"
[/SIZE]
[FONT=Calibri, sans-serif][size=10]<?php[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]add_action('init', 'htmlPage_permalink', -1);[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]register_activation_hook(_FILE_, 'active');[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]register_deactivation_hook(_FILE_, 'deactive');[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]function noPage_slash($string, $type){[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]global $wp_rewrite;[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]if ($wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes==true && $type == 'page'){[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10] return untrailingslashit($string);[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}else{[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]return $string;[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]function htmlPage_permalink() {[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]global $wp_rewrite;[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10] $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]add_filter('user_trailingslashit', 'noPage_slash',66,2);[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]function active() {[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]global $wp_rewrite;[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10] $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]$wp_rewrite->flush_rules();[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]} [/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]function deactive() {[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]global $wp_rewrite;[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]$wp_rewrite->page_structure = str_replace(".html","",$wp_rewrite->page_structure);[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]$wp_rewrite->flush_rules();[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]}[/SIZE][/FONT]
[FONT=Calibri, sans-serif][size=10]?>[/SIZE][/FONT]
[size=10]
Alles anzeigen
[/SIZE]