Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | wordpress [2025/07/06 12:40] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== WordPress ====== | ||
+ | ~~Title: WordPress использование, | ||
+ | {{htmlmetatags> | ||
+ | metatag-keywords=(WordPress, | ||
+ | metatag-description=(WordPress подключить Google Analytics и/или Яндекс Метрику. Cделать отступы в абзацах. Вопросы обновления и кеширования.) | ||
+ | }} | ||
+ | {{ : | ||
+ | |||
+ | Начнем с главного, | ||
+ | |||
+ | Скачать последнюю версию Wordpress: | ||
+ | |||
+ | * Завантажити [[https:// | ||
+ | * Скачать [[https:// | ||
+ | * Скачать последнюю версию WordPress English <file bash> | ||
+ | wget -c https:// | ||
+ | </ | ||
+ | |||
+ | <panel type=" | ||
+ | * [[лучшие wordpress плагины]] | ||
+ | * [[Шорткоды WordPress]] | ||
+ | * [[https:// | ||
+ | * [[wp-cli]] | ||
+ | * [[wordpress htaccess default]] | ||
+ | * [[Site Kit]] | ||
+ | * [[wiki плагины wordpress]] | ||
+ | WordPress Плагины кэширования: | ||
+ | |||
+ | * [[Кэширование сайта]]: | ||
+ | * [[redis# | ||
+ | * [[custom_fields]] | ||
+ | * [[wordpress_multisite]] | ||
+ | </ | ||
+ | |||
+ | ====== Установка Wordpress на Debian, Ubuntu ====== | ||
+ | |||
+ | Инсталляция на Debian, [[Ubuntu|Ubuntu]] | ||
+ | * Установка недостающих зависимостей (у вас они уже могут быть установлены).< | ||
+ | apt install mysql-server phpmyadmin | ||
+ | apt install libjs-cropper libjs-prototype libjs-scriptaculous \ | ||
+ | | ||
+ | </ | ||
+ | * **Инсталляция**:< | ||
+ | mkdir wordpress | ||
+ | cd wordpress/ | ||
+ | wget -c https:// | ||
+ | unzip latest.zip | ||
+ | cp wp-config-sample.php wp-config.php | ||
+ | </ | ||
+ | * Создаем в [[MySQL]] БД для нашего сайта и пользователя от которого будет работать [[CMS]] WordPress, например при помощи [[phpmyadmin]]. Полученными данными заполняем файл wp-config.php. <file sql> | ||
+ | mysql> CREATE DATABASE databasename; | ||
+ | Query OK, 1 row affected (0.00 sec) | ||
+ | |||
+ | mysql> GRANT ALL PRIVILEGES ON databasename.* TO " | ||
+ | -> IDENTIFIED BY " | ||
+ | Query OK, 0 rows affected (0.00 sec) | ||
+ | | ||
+ | mysql> FLUSH PRIVILEGES; | ||
+ | </ | ||
+ | <file sql> | ||
+ | CREATE DATABASE databasename; | ||
+ | GRANT ALL PRIVILEGES ON databasename.* TO " | ||
+ | FLUSH PRIVILEGES; | ||
+ | </ | ||
+ | * Обязательно заполните уникальные ключи и соли для аутентификации в файле wp-config.php. Для этого как указано в самом файле wp-config.php удобно использовать [[https:// | ||
+ | # chown -R www-data: | ||
+ | # chmod 600 wp-config.php | ||
+ | </ | ||
+ | * Заходим при помощи браузера на ваш сайт http:// | ||
+ | * [[wordpress# | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ====== Wordpress. Права доступа в файлам и директориям ====== | ||
+ | |||
+ | Безопасные атрибуты для файлов и папок Wordpress, используя утилиту [[chmod]]: 755 на папки; 644 на файлы; 600 на wp-config.php. Для установки компонентов нужно разрешить Apache писать и удалять в директории wp-content. | ||
+ | <file bash> | ||
+ | find public_www/ | ||
+ | find public_www/ | ||
+ | </ | ||
+ | |||
+ | ====== WordPress - настройка ЧПУ ====== | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | **WordPress** - настройка **ЧПУ** (Человеку Понятный Урл([[URL]])). | ||
+ | <note warning> | ||
+ | |||
+ | Настройку ЧПУ нужно выполнять сразу после установки wordpress, иначе позже дополнительно придётся настраивать перенаправление на уже проиндексированные страницы, | ||
+ | / | ||
+ | </ | ||
+ | / | ||
+ | </ | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== WordPress .htaccess правильный 301 редирект ===== | ||
+ | |||
+ | В интернете, | ||
+ | |||
+ | Ниже приводится код с работающего сервера, | ||
+ | - Переадресация [[url_redirection# | ||
+ | - [[url_redirection# | ||
+ | - Последние строки решают проблему дублей слешей, | ||
+ | |||
+ | <file php> | ||
+ | RewriteEngine On | ||
+ | Options +FollowSymLinks | ||
+ | |||
+ | RewriteCond %{HTTPS} !=on | ||
+ | RewriteCond %{HTTP_HOST} ^www.example\.com$ [NC] | ||
+ | RewriteRule ^(.*)$ https:// | ||
+ | |||
+ | RewriteCond %{HTTPS} !=on | ||
+ | RewriteRule ^(.*)$ https:// | ||
+ | |||
+ | # BEGIN WordPress | ||
+ | < | ||
+ | RewriteEngine On | ||
+ | RewriteBase / | ||
+ | RewriteRule ^index\.php$ - [L] | ||
+ | RewriteCond %{REQUEST_FILENAME} !-f | ||
+ | RewriteCond %{REQUEST_FILENAME} !-d | ||
+ | RewriteRule . /index.php [L] | ||
+ | RewriteCond %{REQUEST_URI} ^(.*)/ | ||
+ | RewriteRule . %1/%2 [R=301,L] | ||
+ | </ | ||
+ | # END WordPress | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== WordPress. Восстановить пароль администратора ====== | ||
+ | |||
+ | * **Сбросить пароль администратора WordPress с помощью FTP**. Для этого необходимо войти на ваш сайт по [[FTP]] и загрузить файл functions.php вашей активной темы. Изменить файл и добавить в него | ||
+ | wp_set_password (' | ||
+ | </ | ||
+ | Где newpassword — новый пароль, | ||
+ | |||
+ | * **Сменить пароль администратора с помощью SQL**. Для восстановления пароля с помощью [[SQL]] необходимо выполнить следующий запрос:< | ||
+ | UPDATE wp_users SET user_pass = MD5(' | ||
+ | </ | ||
+ | UPDATE wp_users SET user_pass = MD5(' | ||
+ | </ | ||
+ | * **Восстановить пароль WordPress через email**. Если вы знаете логин и е-мейл администратора, | ||
+ | ====== WordPress. Обновление ====== | ||
+ | |||
+ | - Сделать Бекап как самого сайта так и БД, любым удобным вам способом | ||
+ | - Выключить все плагины | ||
+ | - Удалить директории wp-admin и wp-includes с вашего сайта | ||
+ | - Может потребоваться удалить файл .htaccess | ||
+ | - Сравнить (и если требуется изменить) содержимое старого файла wp-config.php с новым wp-config-sample.php, | ||
+ | - Скопировать все файлы скачанного WordPress новой версии, | ||
+ | - Запускаем обновление http:// | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ====== WordPress. xmlrpc.php wp-config.php wp-login.php ====== | ||
+ | |||
+ | **Файл xmlrpc.php** используется только для удаленной публикации статей на вашем сайте. Если вы его не используете доступ к нему должен быть закрыт. Для Apache <file bash> | ||
+ | # Block XML-RPC requests | ||
+ | <Files xmlrpc.php> | ||
+ | Order Allow,Deny | ||
+ | Deny from all | ||
+ | </ | ||
+ | </ | ||
+ | location = /xmlrpc.php { | ||
+ | log_not_found off; | ||
+ | # access_log off; | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Файл wp-config.php** можно смело закрыть доступ< | ||
+ | location = / | ||
+ | log_not_found off; | ||
+ | # access_log off; | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | **Файл wp-login.php** в зависимости от задач, может быть закрыт полностью по аналогии с xmlrpc.php или открыт только для определенных. Для Apache< | ||
+ | <Files xmlrpc.php> | ||
+ | Order Deny,Allow | ||
+ | Deny from all | ||
+ | Allow from xxx.xxx.xxx.xxx | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====== WordPress. Смена siteurl ====== | ||
+ | |||
+ | **Данная задача возникает**, | ||
+ | |||
+ | Переменная siteurl в WordPress отвечает за формирование относительных ссылок. Значение данной переменной записывается в БД, поэтому и изменить её можно путем редактирования БД и/или модификации файла wp-config.php. | ||
+ | |||
+ | * **Модификация wp-config.php**. Для решения добавьте в файл wp-config.php строки:< | ||
+ | define(' | ||
+ | define(' | ||
+ | </ | ||
+ | * **Модификация параметра в БД.** В таблице wp_options находим значение переменой siteurl и меняем его на нужное нам. | ||
+ | |||
+ | ====== WordPress. Использование Cookie ====== | ||
+ | |||
+ | * [[Cookie]] | ||
+ | |||
+ | * Установить(Set a Cookie in WordPress). | ||
+ | <file php> | ||
+ | add_action(' | ||
+ | if (!isset($_COOKIE[' | ||
+ | setcookie( ' | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | * Показать все куки (Get a Cookie in WordPress). | ||
+ | <file php> | ||
+ | add_action( ' | ||
+ | function my_getcookie() { | ||
+ | $alert = isset( $_COOKIE[' | ||
+ | echo "< | ||
+ | echo "< | ||
+ | } | ||
+ | </ | ||
+ | * Удалить (Delete or Unset a Cookie in WordPress). | ||
+ | <file php> | ||
+ | add_action( ' | ||
+ | function my_deletecookie() { | ||
+ | setcookie( ' | ||
+ | } | ||
+ | </ | ||
+ | ====== WordPress. Nginx + Apache ====== | ||
+ | Рабочие примеры для WordPress.< | ||
+ | server { | ||
+ | |||
+ | server_name example.net www.example.net; | ||
+ | listen 80; | ||
+ | root / | ||
+ | index index.php index.html index.htm; | ||
+ | error_log / | ||
+ | access_log / | ||
+ | |||
+ | proxy_set_header X-Real-IP | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header Host $host; | ||
+ | |||
+ | location = / | ||
+ | log_not_found off; | ||
+ | access_log off; | ||
+ | } | ||
+ | |||
+ | location = /xmlrpc.php { | ||
+ | log_not_found off; | ||
+ | # access_log off; | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { | ||
+ | # expires max; expires 1w; | ||
+ | expires 14d; | ||
+ | # log_not_found off; | ||
+ | # access_log off; | ||
+ | } | ||
+ | |||
+ | location / { | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | ServerAdmin webmaster@example.net | ||
+ | ServerName example.net | ||
+ | ServerAlias www.example.net | ||
+ | |||
+ | ServerSignature Off | ||
+ | |||
+ | < | ||
+ | AssignUserID webluxor webluxor | ||
+ | </ | ||
+ | |||
+ | php_admin_value open_basedir "/ | ||
+ | |||
+ | DirectoryIndex index.php index.html | ||
+ | |||
+ | DocumentRoot "/ | ||
+ | < | ||
+ | Options FollowSymLinks -Indexes | ||
+ | # for mod_rewrite changed from All to FileInfo and turn on Options FollowSymLinks | ||
+ | # | ||
+ | AllowOverride FileInfo Limit | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | |||
+ | </ | ||
+ | |||
+ | ErrorLog / | ||
+ | LogLevel warn | ||
+ | CustomLog / | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== WordPress: Cделать отступы в абзацах ===== | ||
+ | |||
+ | На сайтах сделанных на WordPress нет отступов первой строчки абзацев. Для добавления абзаца изменим файл style.css нашей темы, где класс entry-content сявляется оберткой для постов. Название класса может быть другим для вашей темы, узнайте его исследовав элемент вашей страницы. | ||
+ | |||
+ | <file css> | ||
+ | .entry-content p { | ||
+ | text-indent: | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== WordPress: подключить Google Analytics и/или Яндекс Метрику ===== | ||
+ | |||
+ | |||
+ | Для подключения [[SEO|Google Analytics]] к WordPress можно использовать специальные плагины, | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | **Альтернативный вариант.** Пишем код PHP для вставки в файл functions.php вашей активной темы< | ||
+ | function my_google_analytics() { | ||
+ | echo <<<' | ||
+ | // Ваш код Google Analytics | ||
+ | EOT; | ||
+ | } | ||
+ | add_action(' | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | ===== WordPress: подключить файл CSS ===== | ||
+ | |||
+ | Задача подключить дополнительный файл CSS к текущей теме Wordpress. Код вставляем в файл темы function.php. Обязательно до функции wp_head() которая вызывается в header.php В моем случае мне нужно было изменить CSS стиль тега table. <file css> | ||
+ | tr: | ||
+ | tr: | ||
+ | caption {background: | ||
+ | </ | ||
+ | |||
+ | |||
+ | <file php> | ||
+ | function add_styles_scripts(){ | ||
+ | | ||
+ | '/ | ||
+ | } | ||
+ | |||
+ | add_action( ' | ||
+ | </ | ||
+ | |||
+ | ===== Как автоматически заполнять поля alt, caption и description при загрузке файлов? | ||
+ | |||
+ | Источник кода: [[http:// | ||
+ | |||
+ | Автозаполнение атрибута alt и всех остальных полей в Wordpress при загрузке медиафайла на сайт, на основе имени медиафайла. | ||
+ | |||
+ | Код следует добавить в файл functions.php в конец файла. | ||
+ | |||
+ | <file php> | ||
+ | // | ||
+ | function wph_auto_alt_title_caption($attachment_ID) { | ||
+ | |||
+ | $filename | ||
+ | $withoutExt = preg_replace('/ | ||
+ | $withoutExt = str_replace(array(' | ||
+ | |||
+ | $my_post = array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | wp_update_post($my_post); | ||
+ | |||
+ | // | ||
+ | update_post_meta($attachment_ID, | ||
+ | } | ||
+ | add_action(' | ||
+ | // | ||
+ | </ | ||
+ | ===== Как автоматически добавить alt, title к загруженным картинкам Wordpress WooCommerce? | ||
+ | На сайте WordPress можно самостоятельно прописать alt для каждой загруженной картинки. Но что делать, | ||
+ | |||
+ | **1 способ. (использую)** Наиболее быстрым и корректным способом является использование многофункционального [[https:// | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | **2 способ.** Плагин [[https:// | ||
+ | |||
+ | **3 способ.** Прописать код в function.php дочерней темы для автоматического добавления тегов alt и title текущего товара в Woocommerce в теле товарной карточки. Для картинок товара добавлен НЕ будет.< | ||
+ | // alt title for images | ||
+ | add_filter(' | ||
+ | function change_attachement_image_attributes($attr, | ||
+ | global $post; | ||
+ | if ($post-> | ||
+ | $title = $post-> | ||
+ | $attr[' | ||
+ | $attr[' | ||
+ | } | ||
+ | return $attr; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Как убрать префикс category из URL рубрик WordPress ===== | ||
+ | {{ : | ||
+ | |||
+ | **Преимущества для SEO если убрать category в wordpress**: | ||
+ | - Со ссылки убирается не информативная для поискового бота часть - category. | ||
+ | - URL становятся короче на 9 символов, | ||
+ | - Больше шансов что бот захватит и подсветит нужную часть ссылки в выдаче поисковика. | ||
+ | |||
+ | Ранее, для того чтобы убрать category URL в WordPress я использовал плагин Remove Category URL By Valerio Souza, Сreativemotion, | ||
+ | |||
+ | Если у вас установлен плагин [[yoast_seo|Yoast SEO]] вы можете отключить показ в URL префикса category. Для этого в настройка плагина перейдите в настройки рубрики и отключите параметр " | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | |||
+ | ===== Интернационализация i18n / локализация WordPress ===== | ||
+ | |||
+ | Обзор возможностей как для интернационализации, | ||
+ | |||
+ | ==== Локализации PHP Wordpress ==== | ||
+ | < | ||
+ | __( 'Hello World', | ||
+ | _x( ' | ||
+ | _e( 'Hello World', | ||
+ | esc_html__( 'Hello World', | ||
+ | esc_html_e( 'Hello World', | ||
+ | _n( '%s Comment', | ||
+ | Обычно используется в сочетании с sprintf()и number_format_i18n(). | ||
+ | </ | ||
+ | |||
+ | ==== Локализации JavaScript Wordpress ==== | ||
+ | Исторически wp_localize_script()он использовался для помещения данных PHP на стороне сервера в правильно экранированный нативный объект JavaScript. | ||
+ | |||
+ | Новый редактор вводит новый подход к переводу строк для редактора через новый пакет под названием @wordpress/ | ||
+ | |||
+ | Новый пакет скриптов зарегистрирован в WordPress как wp-i18nи должен быть объявлен как зависимость во время wp_register_script()и импортирован как глобальный объект Window как wp.i18n. | ||
+ | |||
+ | В зависимости от вашего рабочего процесса разработчика, | ||
+ | |||
+ | Общие методы в wp.i18n: | ||
+ | < | ||
+ | setLocaleData( data: Object, domain: string ): Создает новый экземпляр I18N, предоставляющий данные перевода для домена. | ||
+ | __( 'Hello World', | ||
+ | _n( '%s Comment', | ||
+ | _x( ' | ||
+ | sprintf(): Порт JavaScript функции PHP с тем же именем. | ||
+ | </ | ||
+ | ===== Как включить отладку (DEBUG) в WordPress ===== | ||
+ | Источник: | ||
+ | |||
+ | WP_DEBUG это константа PHP используемая для установки режима отладки в WordPress. По умолчанию она имеет значение «false», но может быть установлена как «true» в файле конфигурации wp-config.php на сайтах, | ||
+ | |||
+ | < | ||
+ | define( ' | ||
+ | define( ' | ||
+ | </ | ||
+ | Сообщения с ошибками появятся в браузере. Если вы включите режим debug на живом сайте, то посетители увидят ошибки в верхней части на всех страницах сайта. | ||
+ | < | ||
+ | // Включить журнал / | ||
+ | define( ' | ||
+ | -или- | ||
+ | define( ' | ||
+ | </ | ||
+ | |||
+ | Читайте также: | ||
+ | * [[облако меток WordPress]] |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга