Viber, Telegram
+38 066 7342127
Call me
+372 55916393

Category: Блог

Як Виконувати Шорткоди У Довільних Полях У WordPress

Як Виконувати Шорткоди У Довільних Полях У WordPress

За замовчуванням WordPress не дозволяє шорткодам виконуватися в довільних (створених користувачем) полях. Якщо ж, з будь-якої причини вам потрібно це зробити, побачити результат роботи шорткоду в полі є простий спосіб це зробити.

Вставте цей код у будь-яку сторінку, яка відображає результат шорткоду, та змініть your_custom_field_here на ім’я довільного поля. Результат в наявності, тобто на сторінці/

<?php echo apply_filters('the_content', get_post_meta($post->ID, 'your_custom_field_here', true)); ?> 


Отримуємо Значення Довільного Поля За допомогою Шорткоду

Додайте наступний php код у файл function.php вашої теми, і ви отримаєте можливість вивести значення довільного поля за допомогою шорткоду

add_shortcode('field', 'shortcode_field');
function shortcode_field($atts){
 extract(shortcode_atts(array(
 'post_id' => NULL,
 ), $atts));
 if(!isset($atts[0])) return;
 $field = esc_attr($atts[0]);
 global $post;
 $post_id = (NULL === $post_id) ? $post->ID : $post_id;
 return get_post_meta($post_id, $field, true);
}

Для виведення шорткоду в записі пропишіть шорткод
[field "my_key"]
[field "my_key" post_id=1]

Якщо ви хочете отримати значення довільного поля іншого запису, просто вкажіть ID цього запису, як показано в другому рядку.

 

Як задати зображення мініатюри за замовчуванням для нових записів WordPress

Як задати зображення мініатюри за замовчуванням для нових записів WordPress

Крок 1. Встановлюємо значення Thumbnail ID

Перше, що вам потрібно зробити – це задати значення ID для завантажуваної картинки, яка буде кріпитися до всіх нових постів на сайті. Зробити це можна, перейшовши в медіа-бібліотеку сайту (Media Library), вибравши там вашу тему оформлення та потрібну вам картинку, а потім скопіювавши значення ID для цієї картинки.

На скріншоті ви бачите, що значення ID береться з адресного рядка.
Може бути у вигляді wp-admin/upload.php?item=956, wp-admin/post.php?post=956 або wp-admin/post.php?attachment_id=956 

Як задати зображення мініатюри за замовчуванням для нових записів WordPress

Крок 2. Задаємо функцію

Щоб встановити значення за промовчанням для нових постів, ви можете додати наступний сніпет в файл functions.php в папці з вашою обраною темою:

add_action( 'save_post', 'wptuts_save_thumbnail' );

function wptuts_save_thumbnail( $post_id ) {

	// Get Thumbnail
	$post_thumbnail = get_post_meta( $post_id, $key = '_thumbnail_id', $single = true );

	// Verify that post is not a revision
	if ( !wp_is_post_revision( $post_id ) ) {
		// Check if Thumbnail exists
		if ( empty( $post_thumbnail ) ) {
			// Add thumbnail to post
			update_post_meta( $post_id, $meta_key = '_thumbnail_id', $meta_value = '956' );
		}
	}

}

Ми використовуємо save_post для запуску функції у новому доданому пості на вашому сайті. Як тільки ми пов’язали дію з додаванням нового посту, ми використовуємо параметр get_post_meta для того, щоб встановити значення для бази даних, вказавши ID картинки і ID посту.

Наступним кроком є використання функції wp_is_post_revision для перевірки того, чи є збережений пост новою версією існуючого посту, чи це новий пост, якого раніше не було. Якщо пост є версією оновленої існуючої публікації, тоді ми робимо виняток для виконання частини нової функції, що залишилася.

За допомогою параметра If ми також перевіряємо, чи є мета-інформація про існування картинки для нового посту. Якщо таких даних немає, то ми застосовуємо функцію add_post_meta для додавання значення ID картинки за замовчуванням в останній доданий на сайті пост.

От і все! При збереженні статті в чернетках на сайті зберігатиметься значення зображення за замовчуванням для нового посту, і ми зможемо використовувати цю картинку за замовчуванням у плагінах та віджетах, де потрібна наявність ілюстрації для попереднього перегляду. Якщо ви розробляєте тему для сайту, ви також можете використовувати вказаний метод і замінити $meta_value картинкою з вашої папки з темою, що розробляється.

Перенос сайту WordPress на інший хостинг

Перенос сайту WordPress на інший хостинг

Перенесення сайту WordPress на інший хостинг – завдання, яке рідко встає на шляху. Якщо до цього додати, що більшість служб технічної підтримки хостингів роблять перенесення сайту безкоштовно, ви взагалі можете не зіткнутися з нею. Однак не зарікайтеся. Як показує моя практика, навіть тех.службі буває, потрібна ваша допомога на окремих кроках перенесення, та й завершити перенесення краще, ніж ви, ніхто не зможе.

Коли потрібне перенесення сайту
Причин перенесення сайту може бути скільки завгодно. Наприклад, вас став не влаштовувати ваш хостинг: подорожчав, збої в роботі, жахливий support. Або ваш проект виріс і шаред хостинг не справляється з потоком клієнтів. У цьому випадку оренда сервера vds правильний вихід. На VDS серверах трафік безлімітний, виділений IP, вибір ОС та більше самостійності.

У будь-якому випадку при зміні хостингу постане питання перенесення сайту.

Кроки перенесення сайту WordPress

Для отримання вдалого результату умовно розіб’ємо перенесення сайту WordPress на кілька логічних кроків.

Зробити копію сайту;
Зробити дамп вмісту бази даних сайту;
Прикріпити домен до облікового запису на новому хостингу;
Створити нову базу даних новому хостингу;
Імпортувати базу даних;
Перенести каталог сайту на новий хостинг;
Виправити файл wp-config.php;
Поміняти сервер доменних імен сайту (DNS);
Перевірити новий сайт і видалити (відключити) обліковий запис на старому хостингу.
Зробити копію сайту
Для початку зробимо копію веб-сайту. Зробити це можна в панелі керування хостингом (DirectAdmin, ISP панелі тощо) через інструмент резервного копіювання. Але краще процес контролювати і тому зробіть копію сайту вручну за допомогою FTP клієнта, з яким ви працюєте. Рекомендую програми FileZilla чи WinSCP.

Через FTP клієнт перекачайте всі папки та файли вашого сайту на комп’ютер в окрему папку. Потрібні всі папки та фали сайту, які знаходяться у кореневому каталозі сайту, куди встановлювали WordPress. (у кореневому каталозі більшість папок та файлів повинні починатися з wp-). Найімовірніше це папка public_html або httpdocs. Завантажуйте все, що є в кореневому каталозі, і тільки з нього.

Зробити дамп вмісту бази даних сайту

Перенесення веб-сайту WordPress на інший хостинг просить копії (дамп) бази даних веб-сайту. Зробити її можна в phpMyAdmin хостингу. Увійти до нього можна лише з панелі керування хостингом.

Для входу до phpMyAdmin знадобляться облікові дані бази даних сайту: Ім’я бази даних, Ім’я користувача БД, Пароль доступу. Вони повинні бути у вас, десь записані з моменту установки WordPress. Якщо ні, то не біда. Їх можна легко відновити. Для цього відкрийте файл wp-config.php через FTP клієнт або у файловому менеджері панелі керування хостингом та знайдіть у ньому наступні рядки:

Перенос сайту WordPress на інший хостинг

Облікові дані бази даних відновлені, переходимо в phpMyAdmin на панелі керування хостингом.

Проходимо вікно авторизації.

Експорт бази даних

Із дампом (копією) бази даних наступна історія. Зробити копію бази даних можна багатьма способами (Програма mysqldump, скрипт Sypex Dumper Lite, скрипт Staggered MySQL Dump Importer, Програма Navicat). Але оскільки ми увійшли до скрипту phpMyAdmin, то й робитимемо копію БД за допомогою інструментів php MyAdmin. Цей варіант працює тільки для сайтів не гігантського обсягу.

Далі не складно:

У php MyAdmin, зліва виберіть потрібну базу даних.

Вгорі тиснемо вкладку “Експорт”

Перенос сайту WordPress на інший хостинг

Копія робиться за три кроки:

Відкрийте базу даних у phpmyadmin;
Не виділяючи чеки в таблицях, натисніть кнопку “Експорт”;
Виберіть стиснення бази даних (якщо потрібно);
Внизу натисніть кнопку дій (вперед або OK).

Переходимо на роботу з новим хостингом.

Прикріпити домен до облікового запису на новому хостингу
На новому хостингу пройдіть усі кроки щодо купівлі хостингу від реєстрації до отримання облікових даних для FTP з’єднання та входу до панелі керування хостингом.

Імпортувати базу даних
Безпосереднє перенесення сайту WordPress на інший хостинг почніть із імпорту бази даних. Для цього на новому хостингу створіть нову базу даних.

Увійдіть в панель керування хостингом;
Увійдіть до MySQL і створюєте базу даних з ім’ям бази, ім’ям користувача та паролем доступу.
Далі з панелі керування хостингом увійдіть до phpMyAdmin.

У phpMyAdmin нового хостингу потрібно перенести (Імпорт) вміст своєї бази даних, завантаженої зі старого хостингу у форматі SQL. Перед Імпортом налаштовуємо його параметри:

Перевіряємо назву БД, виставлене кодування utf-8 та формат SQL. Натискаємо “OK”. В результаті перенесення ви побачите всі таблиці БД.

Перенесення сайту WordPress на інший хостинг з FTP

Знову відкриваємо FTP клієнт. Тільки тепер поєднуємося з новим хостингом.
Переносимо всі раніше завантажені папки та файли свого сайту до кореневого каталогу нового сайту на новому хостингу. Інформацію, куди встановлювати сайт, знайдете на новому хостингу.
Сайт перенесено. Потрібен файл wp-config.php для редагування.

Виправити файл wp-config.php

Для зручності редагування файлу wp-config.php завантажте його та відкрийте у текстовому редакторі (наприклад Notepad++).

Важливо! Не редагуйте файл config.php у блокноті Windows та редакторах Word.

У нижченаведених рядках вставте дані нової бази даних MySQL, зробленої вами на новому хостингу.

Перенос сайту WordPress на інший хостинг

Файл зберігаєте і завантажуйте назад на сайт по FTP за умови перезапису.

В принципі, сайт перенесений. Але якщо ви відкриєте його в браузері, він відкриється на старому хостингу, так як не змінені імена DNS серверів (сервера доменних імен). Щоб завершити перенесення сайту WordPress на інший хостинг, потрібно поміняти сервер DNS до яких прикріплений ваш домен.

Змінити сервери доменних імен (DNS) сайту

Тут два важливі варіанти зміни серверів доменних імен. Все залежить, хто керує доменним ім’ям вашого сайту.

Перший варіант, якщо ваше доменне ім’я, буде керуватися новим хостингом. Тобто ви прикріплюєте свій домен до серверів DNS нового хостингу. У цьому випадку адреси серверів DNS змінюються у реєстратора. Знайти назви DNS серверів нового хостингу можна на панелі керування хостингом.

Заходьте в Панель керування хостингом;

Тут шукайте записи DNS доменних імен. У кожної панелі це у своєму місці.

Цікавить “Запис” “Тип” NS. Їх має бути, як мінімум, дві. Якщо в записах їх немає, зверніться до тих служб хостингу, нехай повідомлять. Імена DNS серверів хостингу мають такий вигляд:

ns1.namehost.ru;
ns2.namehost.ru.

Далі «йдете» до свого реєстратора домену. Відкриваєте керування доменом, далі вибираєте потрібний домен і пункт керування серверами dns або щось схоже. І замість DNS серверів старого хостингу прописуєте DNS сервер нового хостингу.

Другий варіант, якщо доменне ім’я управляється реєстратором. Робите все те саме, як у першому варіанті, тільки навпаки. На хостингу в управлінні DNS прописуєте адреси серверів DNS реєстратора.

Це два основні варіанти прописки серверів DNS. Але різні хостинги і кожен хостинг рекомендує свій варіант управління доменом.

За загальноприйнятими мірками нові параметри DNS прописуються близько 72 годин (зазвичай швидше).

Перевірити новий сайт

Протягом доби періодично перевіряйте, чи змінилися DNS сервери сайту. Для цього є маса on-line інструментів (наприклад, http://www.cy-pr.com/tools/dns/), які розкажуть все про ваш сайт, у тому числі всю інформацію про DNS сервери сайту.

Зміна серверів DNS відбувається від 3 годин до доби. Якщо адреси DNS змінилися і сайт працює на новому хостингу, можна видаляти свій домен зі старого хостингу. Зробити це потрібно неодмінно. На цьому про перенесення сайту WordPress на інший хостинг все!

Помилки перенесення та їх виправлення

Розберемо деякі основні помилки, що виникають при перенесенні сайту WordPress.

Можливі помилки

  • Зникли статті та/або категорії сайту,
  • Замість тексту крякозябри або питання,
  • Замість сайту напис «Неможливо з’єднатися з базою, помилка у рядку 2»;
  • Білий екран замість сайту;
  • Помилка сервера Apache, порт 80.

Виправлення помилок

  • Перевірте кодування файлу БД (utf-8 без BOM),
  • Перевірте кодування таблиць перенесеної БД (utf-8-general-ci),
  • Перевірте дані, внесені у файл wp-config.php. особливо зверніть увагу на назву сервера MySQL. На новому хостингу може
  • відрізнятися від localhost;
  • Ще не перемкнулися сервери DNS.

Фатальна помилка

Фатальної помилки у вас не може бути. У вас є резервна копія сайту та бази даних, а значить ви можете знести сайт і відновити його будь-яку кількість разів до повного успіху. Усі помилки легко виправні. Тепер все!

Як змінити адресу e-mail у консолі WordPress без підтвердження

Як змінити адресу e-mail у консолі WordPress без підтвердження

Як відомо, якщо в налаштуваннях WordPress спробувати змінити E-mail адміністратора, то потрібно буде по новому зробити підтвердження.

Звичайно, якщо у вас немає доступу до нової адреси або ви не хочете, наприклад, змушувати замовника або когось іншого робити це підтвердження, то можна зробити наступне.

Відкрити через редактор WordPress файл функцій користувача functions.php і в самий його кінець, перед закриваючим тегом PHP ?>, якщо такого немає, то просто в самий кінець, додати наступний код.

remove_action( 'add_option_new_admin_email', 'update_option_new_admin_email' );
remove_action( 'update_option_new_admin_email', 'update_option_new_admin_email' );
function wpdocs_update_option_new_admin_email( $old_value, $value ) {
update_option( 'admin_email', $value );
}
add_action( 'add_option_new_admin_email', 'wpdocs_update_option_new_admin_email', 10, 2 );
add_action( 'update_option_new_admin_email', 'wpdocs_update_option_new_admin_email', 10, 2 );

Це простенький Хук, який скасовує перевірку та підтвердження E-mail. Якщо розглянути код, то по ньому видно, що спочатку, перші два рядки, скасовуємо цей хук, вірніше ми скасовуємо всі подібні хуки, що могли бути прописані у функціях вашої теми. Раптом раніше було встановлено якесь обмеження на зміну електронної пошти і т.д. Далі сама функція, яка і знімає обмеження і в кінці два рядки, що реєструють наш новий хук, який підключає функцію вище.

Тепер можете легко змінити адресу електронної пошти без підтвердження. Після зміни можна видалити код.

Рекомендуемые статьи Wordpress с использованием плагина

Рекомендуемые статьи WordPress с использованием плагина

Я уже рассказывала, как сделать блок рекомендуемые статьи на Wordpress без использования плагина.

На мой взгляд, этот способ самый оптимальный, т.к. не требует установки дополнительных плагинов и соответственно не увеличивает нагрузку на сайт. Но он подойдет не всем, т.к. не очень удобен с точки зрения интерфейса пользователя – для добавления статей нужно знать их ID. Read More

Рекомендуемые статьи на Wordpress без плагина

Рекомендуемые статьи на WordPress без плагина

Вручную устанавливаем в админке посты, которые хотим вывести

Делаем через произвольные поля.

Для этого нам нужно зайти на страницу редактирования поста и указать там посты, которые мы добавим в «Похожие записи». Read More

Асинхронная загрузка javascript

Асинхронная загрузка javascript

Ускоряем загрузку html страниц. Современное использование JavaScript

Современные веб-страницы сильно перегружены файлами javascript. Это ведет к замедлению загрузки и последующего отображения страницы. В худших условиях (медленное подключение к Интернету, много javascript файлов) посетителю сайта приходится ждать до 30 секунд. Read More

Список шрифтов для использования в HTML-коде
Как исправить ошибку ERR_TOO_MANY_REDIRECTS только в wp-admin

Как исправить ошибку ERR_TOO_MANY_REDIRECTS только в wp-admin

Вариант исправления ошибки # 1: Очистка файлов cookie браузера (ов), кеша и сохраненных данных, а также любых кешей Cloudflare.

Вариант исправления ошибки # 2: изменение wp-config.phpс помощью кода:

define('WP_HOME' , 'https://вашсайт.com');
define('WP_SITEURL' , 'https://вашсайт.com');

Вариант исправления ошибки # 3: отключение .htaccessфайла в/var/www/html/

Вариант исправления ошибки # 4: добавление в начало файла wp-config.php этого кода

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
   $_SERVER['HTTPS']='on';
else
   $_SERVER['HTTPS']='off';
Фиксированная (плавающая) кнопка на сайте сбоку