Snippet

Utwórz niestandardową mapę witryny XML w WordPressie bez użycia wtyczek

Jak stworzyć niestandardową mapę witryny XML w WordPressieNajlepsza wtyczka do niestandardowej mapy witryny XML w WordPressieRęczne tworzenie mapy witryny XML w WordPressieGenerowanie mapy witryny XML bez wtyczki w WordPressieSamouczek dotyczący niestandardowej mapy witryny XML w WordPressieJak stworzyć mapę witryny XML dla strony WordPressPrzewodnik po konfiguracji mapy witryny XML w WordPressieJak dodać niestandardowe adresy URL do mapy witryny XML w WordPressieRekomendacje wtyczek do mapy witryny XML w WordPressieKroki do stworzenia mapy witryny XML w WordPressie

Objaśnienie

Tworzenie niestandardowej mapy XML w WordPressie może pomóc wyszukiwarkom lepiej zrozumieć strukturę Twojej witryny. Oto prosty sposób, aby to zrobić bez użycia wtyczki.

Reguła przepisywania: Ten kod ustawia specjalny adres URL dla Twojej mapy. Gdy ktoś odwiedza twojastrona.com/custom-sitemap.xml, WordPress wie, aby wyświetlić mapę.

Zmienne zapytania: Dodajemy niestandardową zmienną zapytania o nazwie custom_sitemap. To pomaga WordPressowi zidentyfikować, kiedy wygenerować mapę.

Generowanie mapy: Gdy dostępny jest niestandardowy adres URL mapy, ta część kodu tworzy plik XML. Zawiera on wszystkie opublikowane posty oraz niektóre niestandardowe adresy URL, które chcesz uwzględnić. Każdy wpis zawiera szczegóły, takie jak data ostatniej modyfikacji, jak często się zmienia oraz jego znaczenie.

  • Posty: Wszystkie opublikowane posty są uwzględnione z ich linkami i datami ostatniej modyfikacji.
  • Niemożliwe adresy URL: Możesz dodać konkretne strony, które chcesz umieścić w mapie, takie jak specjalne strony docelowe.

Opróżnienie reguł przepisywania: To zapewnia, że WordPress rozpoznaje nową strukturę adresów URL za każdym razem, gdy zmieniasz motyw.

Używając tego kodu, możesz ręcznie stworzyć mapę, która odpowiada Twoim potrzebom, bez polegania na wtyczkach. Pamiętaj tylko, aby aktualizować niestandardowe adresy URL w razie potrzeby!

Kod

1<?php 2// Hook into the 'init' action to register the sitemap rewrite rule 3add_action('init', 'wp_dudecom_add_sitemap_rewrite_rule'); 4 5function wp_dudecom_add_sitemap_rewrite_rule() { 6 add_rewrite_rule('^custom-sitemap\.xml$', 'index.php?custom_sitemap=1', 'top'); 7} 8 9// Hook into 'query_vars' to add custom query variable 10add_filter('query_vars', 'wp_dudecom_add_query_vars'); 11 12function wp_dudecom_add_query_vars($vars) { 13 $vars[] = 'custom_sitemap'; 14 return $vars; 15} 16 17// Hook into 'template_redirect' to generate the sitemap 18add_action('template_redirect', 'wp_dudecom_generate_custom_sitemap'); 19 20function wp_dudecom_generate_custom_sitemap() { 21 if (get_query_var('custom_sitemap')) { 22 header('Content-Type: application/xml; charset=utf-8'); 23 24 $posts = get_posts(array( 25 'post_type' => 'post', 26 'post_status' => 'publish', 27 'numberposts' => -1 28 )); 29 30 $sitemap = '<?xml version="1.0" encoding="UTF-8"?>'; 31 $sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; 32 33 foreach ($posts as $post) { 34 $sitemap .= '<url>'; 35 $sitemap .= '<loc>' . esc_url(get_permalink($post->ID)) . '</loc>'; 36 $sitemap .= '<lastmod>' . esc_html(get_the_modified_date('c', $post->ID)) . '</lastmod>'; 37 $sitemap .= '<changefreq>weekly</changefreq>'; 38 $sitemap .= '<priority>0.8</priority>'; 39 $sitemap .= '</url>'; 40 } 41 42 // Add custom URLs 43 $custom_urls = array( 44 home_url('/custom-page-1/'), 45 home_url('/custom-page-2/') 46 ); 47 48 foreach ($custom_urls as $url) { 49 $sitemap .= '<url>'; 50 $sitemap .= '<loc>' . esc_url($url) . '</loc>'; 51 $sitemap .= '<changefreq>monthly</changefreq>'; 52 $sitemap .= '<priority>0.5</priority>'; 53 $sitemap .= '</url>'; 54 } 55 56 $sitemap .= '</urlset>'; 57 58 echo $sitemap; 59 exit; 60 } 61} 62 63// Hook into 'after_switch_theme' to flush rewrite rules 64add_action('after_switch_theme', 'wp_dudecom_flush_rewrite_rules'); 65 66function wp_dudecom_flush_rewrite_rules() { 67 flush_rewrite_rules(); 68} 69?>

Instrukcja

Aby wdrożyć niestandardową mapę witryny XML w WordPressie, korzystając z podanego kodu, wykonaj następujące kroki:

Lokalizacja pliku: Dodaj kod do pliku functions.php swojego motywu lub stwórz plik niestandardowej wtyczki.

Wymagania wstępne: Upewnij się, że masz dostęp do plików motywu WordPress lub możliwość stworzenia niestandardowej wtyczki.

Kroki wdrożenia:

  1. Dostęp do plików WordPress:
    • Zaloguj się do panelu administracyjnego WordPress.
    • Przejdź do Wygląd > Edytor motywu, jeśli edytujesz plik functions.php, lub użyj klienta FTP, aby uzyskać dostęp do plików WordPress.
  2. Dodaj kod:
    • Skopiuj podany fragment kodu.
    • Wklej go do pliku functions.php aktywnego motywu lub stwórz nowy plik wtyczki i wklej kod tam.
  3. Zapisz zmiany:
    • Jeśli edytujesz plik functions.php, kliknij Aktualizuj plik, aby zapisać zmiany.
    • Jeśli używasz niestandardowej wtyczki, upewnij się, że wtyczka jest aktywowana w sekcji Wtyczki w panelu WordPress.
  4. Wyczyść zasady przepisywania:
    • Aby upewnić się, że nowa struktura URL jest rozpoznawana, przejdź do Ustawienia > Permalinki w panelu WordPress i kliknij Zapisz zmiany.
  5. Zweryfikuj mapę witryny:
    • Odwiedź twojastrona.com/custom-sitemap.xml, aby sprawdzić, czy mapa witryny została poprawnie wygenerowana.

Postępując zgodnie z tymi krokami, możesz stworzyć niestandardową mapę witryny XML dostosowaną do potrzeb swojej strony. Jeśli potrzebujesz dalszej pomocy lub chcesz zbadać bardziej zaawansowane funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.