Category Archives: Webmastering

Naprawa błędu „Aktualizacja nie powiodła się. Odpowiedź nie jest prawidłową odpowiedzią JSON”

Jedną z częstych przyczyn powyższego błędu – komunikatu jest źle skonfigurowany serwer Apache, który to nie uznaje pliku .htaccess wygenerowanego przez WordPress.

Aby mógł to zrobić należy w pliku konfiguracyjnym /etc/httpd/conf/httpd.conf w sekcji <Directory „/var/www/html”> zmianć dyrektywę AllowOverride None na AllowOverride All

Zródło:
https://www.xmodulo.com/enable-htaccess-apache.html

WordPress – wykonywanie kopii zapasowej

Aby wykonać pełną kopię zapasową strony opartej na WordPress należy:

  1. wyeksportować plik bazy z poziomy phpMyAdmin (patrz wpis: WordPress 4.1 – migracja  na innych serwer (hosting), pkt. 3.  lub za pomoca pluginu BackWPup autorstwa Daniela Huskena (https://wordpress.org/plugins/backwpup/);
  2. z serwera FTP skopiować folder wp-content oraz plik wp-config.php a także .htaccess (o ile istnieje).

WordPress 4.1 – BreadCrumbs na stronie

Element BreadCrumbs, czyli wyświetlana ścieżka do aktualnej strony internetowej nie tylko pomaga użytkownikowi w sprawnej nawigacji, ale również wg. dokumentu Google SEO Starter Guide (http://static.googleusercontent.com/media/www.google.com/en//webmasters/docs/search-engine-optimization-starter-guide.pdf) ma duży wpływ na jej efektywne pozycjonowanie.
Aby dodać BreadCrumbs do strony WP należy:

  1. umieścić poniższą funkcję w pliku functions.php:
    function showBreadCrumbs() {
        echo '<a href=”',get_option('home'),'”>',bloginfo('name')," Home</a> &raquo; ";
        if (is_category() || is_single()) {
            the_category(', ','&title_li=');
            if (is_single()) {
                echo " &raquo; ", the_title();
    }
    } elseif (is_page()) {
        echo the_title();
    }
    }
    
  2. umieścić div z wywołaniem powyższej funkcji na stronie, np. category.php, single.php, page.php zaraz za wywołaniem nagłówka: get_header(); ?>
    <div id="breadcrumbs"><?php showBreadCrumbs(); ?></div>
    
  3. umieścić style CSS w pliku style.css, np.:
    #breadcrumbs {    margin-left:60px;    margin-bottom:20px; }
    

 

 

WordPress 4.1 – wykonanie kopii bazy, migracja na innych serwer (hosting)

Migracja WP na innych serwer (hosting):

  1. wgranie nowego (czystego) WP na nowy host,
  2. skopiowanie pluginów, szablonów, pliku wp-config.php i folderu upload na nowy host,
  3. eksport bazy przez phpMyAdmin:
    Export → Export Method: Custom – display all possible options
    Output: Character set of the file: UTF8
    Compression: None
    Format: SQL
    Object Creation Options → zaznaczone: Add DROP TABLE / VIEW… → odznaczone: Add CREATE PROCEDURE / FUNCTION …
    Można tez użyć wtyczki BackWPup ze strony https://wordpress.org/plugins/backwpup
  4. w pliku .sql zmiana linków URL przy pomocy edytora tekstu (np. Notepad++),
    Przykład: eksport strony z hosta http://localhost/wordpress na host http://nazwadomeny.pl/wp :
    a) zamiana w edytorze wszystkich nazw zawierających link http://localhost/wordpress na http://nazwadomeny.pl/wp
    b) zamiana wszystkich nazw /wordpress na /wp
    c) w przypadku witryny z funkcją MULTISITE należy zmienić nazwę przy parametrze ‚source_domain’, która występuje w końcowych liniach pliku SQL i przyjmuje postać np. w przypadku hostingu http://localhost/wp – samo słowo localhost (bez przedrostka http://)
    d) wejście na nową stronę: http://nazwadomeny.pl/wp. WP wyświetli stronę instalacyjną ponieważ nie będzie się mógł połączyć z bazą.
  5. import bazy przez phpMyAdmin na nowy host przez phpMyAdmin: Import → OK,
  6. wejście do panelu administracyjnego nowej strony http://nazwadomeny.pl/wp/wp-admin. WP poprosi o update bazy.

Szczególnie krok 4a i 4b są istotne jeśli przenosiny odbywają się z podkatalogu do podkatalogu.

Oczywiście w pliku wp-config.php trzeba wpisać nowe parametry serwera MySQL.

Dobrym pluginem wspomagającym proces przenoszenia bazy jest WP Migrate DB: https://wordpress.org/plugins/wp-migrate-db/

 

WordPress 4.1 – edycja strony z postami

Usunięcie linku z tytułu artykułu:

W pliku archive.php należy zmienić linię:

<h2 id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>"><?php the_title(); ?> </a> </h2>

na

<h2 id="post-<?php the_ID(); ?>"> <?php the_title(); ?> </h2>

Usunięcie komentarzy za artykułem:

W pliku /inc/meta.php należy usunąć linię:

<?php comments_popup_link('Brak komentarzy', '1 komentarz', '% komentarzy', 'comments-link', ''); ?>

WordPress 4.1 – struktura szablonu

Struktura systemu WordPress – główne pliki:

header.php – zawiera nagłówek, tagi otwierające

index.php – zawiera treść, jeden lub więcej postów

sidebar.php – zawiera widgety, które zawierają tekst, kategorie i tagi

footer.php – zawiera tagi zamknięcia strony

style.css – główny plik ze stylami CSS

 

archive.php – archiwa

page.php

single.php – pojedynczy post

comments.php – komentarze

search.php – rezultat wyszukiwania

WordPress 4.1 – „instalacja” na serwerze internetdsl.pl

Niektóre serwery, przykładowo internetdsl.pl należący do Orange są skonfigurowane w sposób bardzo utrudniający użytkowanie systemów CMS typu WordPress lub Joomla. Serwer znajduje się za serwerem proxy i ma ustawioną bardzo restrykcyjną politykę bezpieczeństwa. W przypadku  WordPress można napotkać problemy już na samym starcie. Serwer uniemożliwia jego instalację. Wyświetla komunikat:

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/web/clients/www/x/y/z/f/wp-config.php) is not within the allowed path(s): (/web/clients/www/x/y/z/f/nazwaDomeny) in /web/clients/www/5/2/5/f/nazwaDomeny/wp-load.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /web/clients/www/x/y/z/f/nazwaDomeny/wp-load.php:31) in /web/clients/www/x/y/z/f/nazwaDomeny/wp-load.php on line 56

Continue reading

WordPress 4.1 – niewyświetlanie ostrzeżeń na stronie

Niekiedy, przykładowo w wyniku niepoprawnej konfiguracji serwera Apache lub PHP, WordPress wyświetla ostrzeżenia na stronie. Aby je wyłączyć należy w pliku wp-config.php dodać poniższy kod:

define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
error_reporting(0);
@ini_set('display_errors', 0);