..... * */ function checkPage() { global $wpdb; if ( !is_404() ) return; $urltext = $_SERVER['REQUEST_URI']; //$urltexta = substr($urltext,1); $urltext = trim($urltext); //Letztes / loeschen //schuetzen $urltext = htmlspecialchars($urltext); if(strlen($urltext) != 0) { //Letztes Zeichen ist ? if(substr ($urltext , -1,1) == "/") { $urltext = substr ($urltext , 0,-1); } //Letztes von xxx/xxxx/xxx ist interessant $searchWord = substr (strrchr ($urltext, "/"), 1); //SQL $searchWord = stripslashes($searchWord); $searchWord = str_replace ("'", "", $searchWord); $searchWord = str_replace ('"', "", $searchWord); $searchWord = str_replace (';', "", $searchWord); $querystr = "SELECT * FROM $wpdb->posts WHERE ".findPostWhereLike($searchWord); $pageposts = $wpdb->get_col($querystr); if ($pageposts) { ob_start(); if (count($pageposts) == 1 || ($searchWord == "404Like" || $searchWord == "404like")) { foreach ($pageposts as $id) { $url = get_permalink($id); echo $inhalt; wp_redirect($url,301); // Okay, stop. break; } wp_reset_query(); ob_end_flush(); } } } } /** * Result List by many results * * example: * ...

< ? php new404ErrorPage(); ? > .... */ function new404ErrorPage() { global $wpdb; $urltext = $_SERVER['REQUEST_URI']; $urltext = trim($urltext); //Letztes / loeschen $urltext = htmlspecialchars($urltext); if(strlen($urltext) != 0) { //Letztes Zeichen ist ? if(substr ($urltext , -1,1) == "/") { $urltext = substr ($urltext , 0,-1); } //Letztes von xxx/xxxx/xxx ist interessant $searchWord = substr (strrchr ($urltext, "/"), 1); //SQL $querystr = "SELECT * FROM $wpdb->posts WHERE ".findPostWhereLikeNameTitle($searchWord); $pageposts = $wpdb->get_col($querystr); if ($pageposts) { //Ausgabe echo '

'.__("Folgendes Gesucht").' ?

"; } //Reset Query wp_reset_query(); } } function plugin404Like_filter($redirect, $request) { if ( is_404() ) {return false;} return $redirect; } add_action( 'template_redirect', 'checkPage' ); add_filter( 'redirect_canonical', 'plugin404Like_filter', 10, 2 ); ?>