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:
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ę. :)
Ż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:
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...
Linki do feedów
<link rel="alternate" type="application/rss+xml" title="Just another test page » Kanał z wpisami" href="http://wp-home/feed/" />
<link rel="alternate" type="application/rss+xml" title="Just another test page » 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>
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.
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:
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 » Kanał z wpisami" href="http://wp-home/feed/" />
<link rel="alternate" type="application/rss+xml" title="Just another test page » 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