668 145 480 info@jacekjagusiak.pl
Szybka kopia bazy danych w WordPress

Szybka kopia bazy danych w WordPress

Myślicie, że wszystko da się załatwić wtyczkami? Że dowolna wtyczka umożliwiająca backup bazy danych pozwoli na jej prawidłowe wygenerowanie bez najmniejszych problemów? Możliwe, że korzystacie z jakiś pluginów i sprawdzają się doskonale, ale powiem jedno – one nigdy nie będą doskonałe i wiele z nich generuje śmieci, albo tworzy backup bazy, który może być przywrócony jedynie za pomocą wtyczki, którą go utworzyliście.

Jednak powiedzcie mi, co w przypadku gdy coś poszło nie tak, nie macie dostępu do panelu WordPressa, więc nie macie jednocześnie dostępu do wtyczki, którą utworzyliście bazę. Jak ją przywrócić? Normalnie płacz i zgrzytanie zębami, bezowocne szukanie pomocy, a stronę trzeba przywrócić do życia.

Dziś przedstawię uniwersalną metodę tworzenia kopi bazy danych jak i jej przywracania. W tym przypadku metoda zadziała nie tylko na WordPress, ale także na Joomla, Prestashop czy każdą inną witrynę wykorzystującą bazy danych MYSQL.

Gotowi, to będzie niezwykle prosta metoda, ale za to bezpieczna, szybka i nawet początkujący użytkownik może sobie z tym poradzić. Do tego wszystkiego wykorzystamy PhpMyAdmin.

Eksport bazy danych

1) Znajdź link do PhpMyAdmin swojego hostingu

Sprawa jest dość prosta, można zajrzeć do panelu hostingowego i tam z pewnością odnajdziecie ów link, który zazwyczaj jest uniwersalny. Użytkownicy nazwa.pl mają dość łatwo bo wystarczy, że wejdą na mysql.nazwa.pl i oto otwiera im się gotowy systemik do logowania. W home.pl już sprawa jest nieco bardziej utrudniona trzeba użyć adresu uzytkownik.home.pl/sql/, gdzie jako użytkownik podajecie login do swojego konta hostingowego na home.pl, nie mylić z panelem użytkownika. W wielu wypadkach wystarczy wejść na swoją stronę i dopisać do niej phpmyadmin, dobrym przykładem jest moja strona https://jacekjagusiak.pl/phpmyadmin/ – no i gdybyście znali hasło to zalogować się do mojej bazy nie stanowiłoby najmniejszego problemu. Ale no właśnie, skąd wziąć login i hasło do bazy danych? Na to pytanie odpowiem w drugim kroku.

2) Skąd wziąć hasło do bazy danych

Dla WordPress szukamy konfiguracji w pliku wp-config.php, który znajduje się w głównym katalogu instalacji strony, nie da się go przegapić.

Dla Joomla szukamy konfiguracji w pliku configuration.php, który znajduje się w głównym katalogu instalacji strony, nie da się go również przegapić.

Ale skupiamy się dziś na WordPressie więc otwieramy wp-config.php i szukamy części jak poniżej:

/** MySQL database username */
define('DB_USER', 'nazwauzytkownika');

/** MySQL database password */
define('DB_PASSWORD', 'haslo');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Nas z powyższych danych interesuje jedynie DB_USER jak i DB_PASSWORD. Zapiszcie je sobie gdzieś w podręcznym notatniku.

3) Wybór właściwej bazy danych

Po zalogowaniu ukazuje się następujący widok (jak widać testuje to na bazie położonej na serwerze home.pl):

okno-ogolne-phpmyadmin

Po lewej widzimy information_schema – to nie powinno was w żaden sposób interesować. Ważny jest odnośnik, który w nazwie zawiera nazwę szukanej bazy danych. Ja to zamazałem nieco bo po co kusić los?

4) Eksport wybranej bazy danych

Na górnym menu widzimy wyraźnie pozycję Eksport i Import. W tym momencie korzystamy z Eksport, kliknijcie tam.

Otwiera się nam okno jak poniżej:

eksport-bazy-danych

Normalnie klikamy wykonaj, ale upewnijmy się, że cały zrzut bazy odbędzie się do pliku z rozszerzeniem sql, a nie w oknie przeglądarki. W tym celu w Metoda eksportu wybieramy opcję dostosuj i tam zaznaczamy w części Wyjście „Zapis do pliku”, z opcji tej skorzystać powinni wszyscy użytkownicy hostingów na nazwa.pl, gdyż domyślnie nie jest tam zaznaczona opcja zapisu do pliku.

zapis-do-pliku-sql

Gdy już wszystko ładnie mamy zaznaczone, klikamy na guzik na samym dole okna „Wykonaj” – no i czekamy od kilku sekund po kilka minut (dla większych baz). Pojawi się nam opcja pobrania pliku, zgadzamy się i zaczyna się pobieranie wygenerowanego pliku sql.

Pobrany plik powinien w swojej nazwie mieć nazwę bazy danych, którą aktualnie pobieracie, a jeśli to nazwa localhost to znaczy, że nie wybraliście we wcześniejszym kroku odpowiedniej bazy do eksportu.

Jeśli wszystko poszło dobrze to macie na swoim dysku backup bazy danych.

Przywracanie bazy danych z pliku sql

Teraz zabawny się w odwrotny sposób. Macie plik z zrzutem bazy danych, ale coś wykrzaczyło się na stronie i trzeba przywrócić prócz backupu plików także wcześniejszą wersje bazy danych.

Powtarzamy kroki od 1 do 3 z omawianego procesu eksportu bazy. Zaznaczamy w starej bazie wszystkie tabele i usuwamy. Można nie usuwać, ale wtedy import bazy może wyrzucić wiele błędów bądź po prostu się nie powiedzie. Ja preferuje zawsze usunięcie do czysta wszystkich obecnych tabel.

usuwanie-tabel-starej-bazy

Macie tam opcje rozsuwane „Z zaznaczonymi” musicie wybrać usuń i potwierdzić akcje. No i tabele bazy usunięte i tak, nie usunęliście bazy, ale jej tabele aby zaimportować tabele z kopi zapasowej.

W kolejnym kroku wybieracie z górnego menu opcję „Import” i wskazujecie plik ze swojego dysku, z którego chcecie importować bazę.

import bazy

Rozumiem, że nie macie z tym problemu. Jak już wskażecie odpowiedni plik to klikacie na dole strony przycisk „Wykonaj”. Po chwili zobaczycie potwierdzenie importu bazy, jeśli nie widzicie czerwonych komunikatów to znaczy, że wszystko poszło w porządku. Co więcej, klikając po lewej stronie na nazwie bazy upewnicie się, czy pojawiły się w niej jakieś tabele, a jak pamiętacie wcześniej usunęliście stamtąd wszystko, więc jeśli na nowo pojawiły się tabele to znaczy, że dokonało się i backup bazy został wgrany.

Proces eksportu i importu może wydawać się skomplikowany i długi, ale jeśli zapamiętacie wszystkie kroki to każda taka akcja to kwestia kilku kliknięć i gotowe.

Gdzie zniknęło justowanie w WordPress?

Gdzie zniknęło justowanie w WordPress?

Pewnie nie raz sympatycy wyjustowanego tekstu zastanawiali się, gdzie podział się w WordPressie przycisk podczas tworzenia wpisów bądź stron, którym jak za sprawą magiczne różdżki mogli wyjustować dowolny fragment tekstu. No cóż, pewnie zaktualizowaliście WordPressa do wersji 4.7.x, ale nie bójcie się bo to akurat bardzo dobrze o was świadczy bo dbacie o swoje strony i nie pozostawiacie ich samym sobie zdając się na ślepy los. (więcej…)

Jak dodać wielu autorów do wpisu i stron na WordPressie?

Jak dodać wielu autorów do wpisu i stron na WordPressie?

Niekiedy jeden blog może być prowadzony przez wielu użytkowników, autorów kolejnych wpisów. Taka sytuacja nie stanowi żadnego wyzwania dla domyślnych ustawień WordPressa, gdzie bez problemów do wpisu można przypisać dowolnego autora. Jednak co z sytuacją, gdy nad danym artykułem pracuje dwóch bądź więcej autorów? W domyślnej instalacji WordPressa do takiego artykułu można przypisać jedynie jednego użytkownika (twórcę/autora). (więcej…)

Jak wyświetlić wpisy z innego bloga z miniaturkami?

Jak wyświetlić wpisy z innego bloga z miniaturkami?

Niekiedy mamy kilka tematycznych blogów na WordPressie, którymi na co dzień zarządzamy. Czasem potrzebujemy na jednym blogu wyświetlić wpisy z określonej kategorii znajdujące się na innym blogu. W dodatku najlepiej, aby takie zajawki pojawiały się z właściwymi miniaturkami, również znajdującymi się na innej instalacji WordPressa.

Jak to zrobić?

Postaram się to dziś Wam wyjaśnić w jak najprostszy sposób, tak aby każdy mógł zaimplementować rozwiązanie nie rujnując swojej strony i co najważniejsze, nie używając dodatkowych wtyczek, które w pewnym stopniu mogą obciążać całą witrynę.

W prezentowanym sposobie skorzystamy z kanału nowości (RSS Feed), który domyślnie działa na każdym WordPressie i w którym znajdują się wszystkie, niezbędne dla Nas dane. No dobra, nie wszystkie, bo chcemy też miniaturki pobierać, więc na stronie z której będą zasysane artykuły włączmy obsługę mianturek dla wpisów jak i dodajmy do RSS Feed obsługę miniaturek. O tym jak to zrobić przeczytacie w Naszym poprzednim artykule.

Teraz zdecydujmy się, w którym dokładnie miejscu naszego motywu chcemy wyświetlać wpisy z innego bloga. Gdy już wiemy gdzie to zabieramy się za edycję odpowiedniego dla motywu wpisu. Nie powiem Wam, który dokładnie plik należy edytować bo to zależy w dużej mierze od używanego przez Was motywu i tego, gdzie dokładnie chcecie wstawić takie wpisy.

Jeśli zlokalizowaliście już odpowiednie miejsce to wklejcie tam kod jak poniżej, ale wczytajcie się w komentarze znajdujące się w kodzie, aby móc skonfigurować pod siebie dane funkcje:

<?php 
$rss = fetch_feed('http://www.strona.pl/feed'); //Tutaj podajcie adres strony, z której chcecie pobierać wpisy (adres kanału RSS Feed)


if (!is_wp_error( $rss ) ) : 
	
    $maxitems = $rss->get_item_quantity(5); // Pobieramy 5 ostatnich wpisów z kanału RSS
    $rss_items = $rss->get_items(0, $maxitems); 
endif;
?>
<?php function get_first_image_url($html)
		{
			if (preg_match('/<img.+?src="(.+?)"/', $html, $matches)) {
			return $matches[1];
			}
		}
?>	
 <?php
function shorten($string, $length)
{
    $suffix = '&hellip;';

$short_desc = trim(str_replace(array("/r", "/n", "/t"), ' ', strip_tags($string)));
    $desc = trim(substr($short_desc, 0, $length));
    $lastchar = substr($desc, -1, 1);
    	if ($lastchar == '.' || $lastchar == '!' || $lastchar == '?') $suffix='';
					$desc .= $suffix;
 		return $desc;
}
?>
<ul class="rss-items" id="wow-feed">
    <?php 
    	if ($maxitems == 0) echo '<li>Brak wpisów.</li>'; // Napis pojawiający się w przypadku braku wpisów do wyświetlenia
    	else 
    	foreach ( $rss_items as $item ) : ?>
    <li class="item">
    	<span class="rss-image">
    		<?php echo '<img src="' .get_first_image_url($item->get_content()). '"/>'; ?>
    	</span>
        <span class="data">
        	<h5><a href='<?php echo esc_url( $item->get_permalink() ); ?>' title='<?php echo esc_html( $item->get_title() ); ?>'> <?php echo esc_html( $item->get_title() ); ?></a></h5> 
			<span class="date-image">&nbsp;</span><small><?php echo $item->get_date('F Y'); ?> </small>
			<span class="comment-image">&nbsp;</span><small><?php $comments = $item->get_item_tags('http://purl.org/rss/1.0/modules/slash/', 'comments');?><?php $number = $comments[0]['data']; ?>
				<?php if ($number == '1'){ echo $number."&nbsp;". "Komentarz"; } else {echo $number. "&nbsp;"."Komentarzy";}?></small>
			<p><?php echo shorten($item-> get_description(),'150');?></p> // Pobrane zostanie 150 pierwszych znaków z zajawki każdego wpisu
        </span>
    </li>
    <?php endforeach; ?>
</ul>

Dodatkowo nie zapominajcie, że wszystko trzeba odpowiednio ostylować, aby pasowało idealnie do Waszego motywu (wyglądu strony). W tym celu edytujemy plik style.css naszego motywu dodając na jego końcu odpowiednie style, a poniżej macie przykład, który dowolnie można modyfikować. Pamiętajcie, że z pewnością nie będzie pasował do wyglądu Waszej strony, więc tu się musicie sami pomęczyć.

#wow-feed {
    background: #FFFFFF;
    border: 1px solid #AFAFB0;
    width: 600px;
    margin: 10px 0;
    font-size: 0.8em;
}
#wow-feed  li { list-style: none; }
#wow-feed .rss-image img {
    width: 100px;
    height: 100px;
    padding: 8px;
    border: solid 1px #eee;
}
#wow-feed .rss-image { width: 30%; }
#wow-feed .item {
    border-bottom: 1px solid #AFAFB0;
    padding: 10px;
}
#wow-feed .data {
    display: inline-block;
    margin-left: 2%;
    vertical-align: top;
    width: 70%;
}
#wow-feed .data h5 { font-weight: bold; }
#wow-feed .data small {
    color: #8F90CB;
    font-size: 0.9em;
    margin-right: 10%;
}
#wow-feed .comment-image {
    background: url("images/comments.png");
    height: 16px;
    width: 16px;
    vertical-align: middle;
    display: inline-block;
    margin-right: 2%;
}
#wow-feed .date-image {
    background: url("images/date.png");
    height: 16px;
    width: 16px;
    vertical-align: middle;
    display: inline-block;
    margin-right: 2%;
}

Pamiętajcie, że metoda ma pewne limity, a głównie ograniczona jest do tego co zawiera kanał RSS Feed bloga, z którego pobieracie najnowsze wpisy.