Arkadaşlar merhaba. Ya bulamıyorum bir eklentimiydi bir özellikmiydi ama şöyle bişey vardı
Xx.com/deneme diye linkiniz olsun xx.com/dene adresine gidince mesela 404 verdirmeden en yakın linke yani /deneme ye gidiyordu. Bunu nasıl yapıyorduk?
En yakın linke gitme
4
●106
- 29-10-2024, 09:39:31
- 29-10-2024, 09:47:27dener misiniz
function custom_404_redirect() { if (is_404()) { $request_uri = $_SERVER['REQUEST_URI']; $path_parts = explode('/', trim($request_uri, '/')); $keywords = explode('-', end($path_parts)); foreach ($keywords as $keyword) { $args = array( 'post_type' => 'post', 'posts_per_page' => 1, 'orderby' => 'rand', 's' => $keyword, ); $query = new WP_Query($args); if($query->have_posts()) { $query->the_post(); $redirect_url = get_permalink(); wp_reset_postdata(); wp_redirect($redirect_url); exit; } wp_reset_postdata(); } } } add_action('template_redirect', 'custom_404_redirect');veya daha mantıklısı böyle olacaktır düzenleme gerekebilir
function custom_404_redirect($query) { if (!$query->is_main_query() || (isset($query->query_vars['name']) && !empty($query->query_vars['name']) && $query->have_posts())) { return; } $request_uri = $_SERVER['REQUEST_URI']; $path_parts = explode('/', trim($request_uri, '/')); $keywords = explode('-', end($path_parts)); foreach ($keywords as $keyword) { $args = array( 'post_type' => 'post', 'posts_per_page' => 1, 'orderby' => 'rand', 's' => $keyword, ); $query = new WP_Query($args); if ($query->have_posts()) { $query->the_post(); $redirect_url = get_permalink(); wp_reset_postdata(); wp_redirect($redirect_url); exit; } wp_reset_postdata(); } } add_action('parse_request', 'custom_404_redirect'); - 29-10-2024, 10:27:11nereye eklemeliyim hocam bu kodu?Misafir adlı üyeden alıntı: mesajı görüntüle