Jak sprawdzić ustawienie wp_siteurl i wp_home bez dostępu do kokpitu, plików i/lub bazy danych

Tym razem, natchniony pewnym wątkiem na oficjalnym forum WordPress postanowiłem wykonać pewien eksperyment związany z ustawieniem ścieżek w WordPressie.

W większości przypadków ustawienia typu:

  • wp_home
  • wp_siteurl

są to ustawienia typu "ustaw na początku i zapomnij". W większości jest to tylko teoria, bo jak się okazuje ciekawość ludzka bierze górę w momencie, gdy nie wiemy do czego dana opcja służy.

- A zmienię sobie, zobaczę jak będzie działać.

I wtedy się zaczyna... :)

W internecie jest już mnóstwo opisów, porad, wątków na forach, a nawet została ku temu poświęcona cała strona w kodeksie WordPress. Niniejszy wpis nie jest o tym jak naprawić błędnie ustawione ścieżki w WordPressie, tylko jak je zepsuć i jak je rozpoznać po kodzie źródłowym.

Aby każdy mógł zrobić taki eksperyment w domu i porównać wyniki informuję, że korzystałem z jednego z oficjalnych motywów do WordPress - Twenty Fifteen, który ostatnio bardzo lubię. :)

Psujemy linki w WordPress - the easy way


Żeby sobie zaoszczędzić roboty z grzebaniem w bazie, oba linki zmienimy najprostszą i najszybszą do tego możliwą metodą, no pomijając tą z kokpitem ale w sumie późniejsza naprawa byłaby bardziej czasochłonna.

Więc otwieramy do edycji plik wp-config.php. Zaraz po tagu rozpoczynającym PHP dodajemy definicję dwóch zepsutych zmiennych globalnych - wp_home i wp_siteurl.

<?php
define('WP_HOME','http://wp-home');
define('WP_SITEURL','http://wp-siteurl');


WordPress bardziej lubi zmienne globalne niżeli te z bazy danych, więc to wystarczy aby WordPress myślał że teraz takie dziwne adresy będą naszymi zmiennymi.

OK, plik zapisany, odświeżam stronę i widzę to:

WordPress błędny home siteurl


Nie jest tak źle, przynajmniej coś się wyświetla. No i mamy pierwszy wniosek - "coś jest nie tak" i albo plik style.css nie istnieje, albo mamy do czynienia z błędną ścieżką.

Jeżeli zajrzymy do źródła i zaczniemy wyszukiwać adresy, które wcześniej z jakiegoś powodu ustawiliśmy na błędne, to...

WP_HOME



Linki do feedów
<link rel="alternate" type="application/rss+xml" title="Just another test page &raquo; Kanał z wpisami" href="http://wp-home/feed/" />
<link rel="alternate" type="application/rss+xml" title="Just another test page &raquo; Kanał z komentarzami" href="http://wp-home/comments/feed/" />

<link rel='https://api.w.org/' href='http://wp-home/wp-json/' />


Linki do strony głównej
<p class="site-title"><a href="http://wp-home/" rel="home">Just another test page</a></p>



Linki w nawigacji
<a href="http://wp-home/kontakt/">Kontakt</a>

Linki w widgetach
<a href='http://wp-home/2015/10/'>Październik 2015</a>




WP_SITEURL



Linki do skryptów php WP na serwerze
<a href="http://wp-siteurl/wp-login.php">Zaloguj się</a>

Linki do arkuszy stylów w head (od wtyczek, od szablonu)
<link rel='stylesheet' id='font-awesome-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/font-awesome/css/font-awesome.css?ver=4.4.0' type='text/css' media='' />
<link rel='stylesheet' id='bootstrap-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/bootstrap/css/bootstrap.min.css?ver=3.3.4' type='text/css' media='' />
<link rel='stylesheet' id='prettyPhoto-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/css/prettyPhoto.css?ver=4.4.2' type='text/css' media='' />
<link rel='stylesheet' id='twentytwenty-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/css/twentytwenty.css?ver=4.4.2' type='text/css' media='' />
<link rel='stylesheet' id='animate-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/css/animate.css?ver=4.4.2' type='text/css' media='' />
<link rel='stylesheet' id='magee-shortcode-css'  href='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/css/shortcode.css?ver=1.4.1' type='text/css' media='' />
<link rel='stylesheet' id='msl-style-css'  href='http://wp-siteurl/wp-content/plugins/musli-social-links//css/musli-social-links.css' type='text/css' media='all' />
<link rel='stylesheet' id='msl-fontawesome-css'  href='http://wp-siteurl/wp-content/plugins/musli-social-links/css/font-awesome.min.css' type='text/css' media='all' />
<link rel='stylesheet' id='cookie-consent-style-css'  href='http://wp-siteurl/wp-content/plugins/uk-cookie-consent/assets/css/style.css?ver=4.4.2' type='text/css' media='all' />
<link rel='stylesheet' id='genericons-css'  href='http://wp-siteurl/wp-content/themes/twentyfifteen/genericons/genericons.css?ver=3.2' type='text/css' media='all' />
<link rel='stylesheet' id='twentyfifteen-style-css'  href='http://wp-siteurl/wp-content/themes/twentyfifteen/style.css?ver=4.4.2' type='text/css' media='all' />


Linki do zasobów różnych zasobów skrypty JS, arkusze CSS)
<script type='text/javascript' src='http://wp-siteurl/wp-content/plugins/magee-shortcodes/assets/js/magee-shortcodes.js?ver=1.4.1'></script>
<script type='text/javascript' src='http://wp-siteurl/wp-content/plugins/uk-cookie-consent/assets/js/uk-cookie-consent-js.js?ver=2.0.0'></script>
<script type='text/javascript' src='http://wp-siteurl/wp-content/themes/twentyfifteen/js/skip-link-focus-fix.js?ver=20141010'></script>
<script type='text/javascript' src='http://wp-siteurl/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>
<script type='text/javascript' src='http://wp-siteurl/wp-includes/js/wp-embed.min.js?ver=4.4.2'></script>

Link dla pingbacków
<link rel="pingback" href="http://wp-siteurl/xmlrpc.php">



Wnioski nasuwają się właściwie same... po pierwsze wszystkie linki nie działają. Linki nie działają ponieważ są generowane opierając się na zmiennych wp_home i wp_siteurl. Możemy rozróżnić, że za pomocą wp_home generowane są łącza pomiędzy wygenerowanymi stronami WordPress - linki w nawigacji, linki do wpisów, linki w widgetach, linki do archiwów, stron statycznych itp. WP_SITEURL natomiast, jest wykorzystywany do podpisania zasobów pluginów i motywu (arkusze CSS / JS) oraz skryptów PHP.

To wszystko.

Aby przywrócić linki do wcześniejszego stanu wystarczy skasować wcześniej dodane linijki w wp-config.php.

Brak komentarzy:

Prześlij komentarz