WordPress Туториалы

Как установить WordPress на ваш ПК, используя MAMP

Недавно мы опубликовали статью о том, как установить WordPress на ваш ПК с использованием WAMP. Как и следовало ожидать, мы начали получать от наших читателей вопросы о том, как установить WordPress на Mac. На самом деле, этот процесс почти не отличается от установки на Windows, и в этой статье мы покажем, как установить WordPress на ваш ПК, используя MAMP.

MAMP – это удобная компиляция Apache, MySQL и PHP для Mac. Используя MAMP, вы сможете установить WordPress на ваш Mac и протестировать его. Большинство разработчиков и дизайнеров WordPress используют MAMP в целях разработки. Однако сайт на MAMP доступен для просмотра только вам. Чтобы сделать его доступным в интернете, вам потребуется хостинг WordPress.

Как установить MAMP на Mac

Зайдите на сайт MAMP и скачайте приложение. Когда загрузка будет завершена, откройте скачанный файл. Перетащите файл в папку Applications и следуте инструкциям на экране. Теперь вы сможете запустить MAMP через Applications > MAMP.

Примечание: MAMP также может установить MAMP Pro, поэтому нажмите на правильную опцию.

mamp-app

Прежде чем начать, мы рекомендуем разобраться с настройками. Нажмите на кнопку Preferences, чтобы изменить настройки. Вы увидите новое диалоговое окно. Давайте начнем с вкладки Ports. Здесь вам нужно ввести порты, которые будут использовать Apache и MySQL. Введите порт 80 для Apache и 3306 для MySQL. Порт 88 для Apache даст вам доступ к локальным сайтам через http://localhost вместо http://localhost:8888. Однако при использовании порта 80 вам придется вводить пароль админа вашего компьютера каждый раз, когда вы будете запускать серверы.

mamp-ports

Следующий шаг – установить корневую директорию документов. Корневая директория документов – это папка, в который вы будете создавать и хранить ваши сайты. В диалоговом окне с настройками нажмите на Apache и выберите папку, в которой вы хотите хранить свои сайты. В идеале эта новая папка должна находиться в папке Документы. Вы можете дать ей любое название: htdocs, mywebsites, wpdev, и т.п. Мы для примера назовем ее mysite.

mamp-docs-folder

Нажмите OK, чтобы сохранить изменения. На экране MAMP проверьте, что и сервер Apache, и сервер MySQL работают.

Установка WordPress на Mac

Скачайте копию WordPress с WordPress.org. Распакуйте zip файл, скопируйте папку wordpress внутри него и вставьте его в вашу корневую директорию документов MAMP. Переименуйте эту папку, как вам удобно, например mysite.

Нажмите кнопку Open Start Page в окне приложения MAMP. Откроется новое браузерное окно. Нажмите на phpMyAdmin в верхней строке меню.

mamp-startpage

PhpMyAdmin – это веб-приложение для баз данных MySQL. В phpMyAdmin нажмите на Databases и создайте новую базу данных. Вы можете назвать ее, как хотите. Мы будем использовать это имя для базы данных:

create-db-phpmyadmin

Откройте новое окно в браузере и впишите http://localhost/mysite. Если вы переименовали вашу папку wordpress, то используйте здесь свое название. WordPress пошлет вам уведомление о том, что не удалось найти файл wp-config.php. Нажмите на кнопку Create a Configuration File.

create-config-file

В следующем окне введите информацию о своей базе данных. В поле database name введите название базы данных, которую вы только что сделали. Используйте root для имени пользователя и пароля. Для сервера базы данных – localhost.

mamp-wp-database

Теперь WordPress выполнит соединение с базой данных и создаст конфигурационный файл. После этого вы увидите сообщение об успешном завершении. Нажмите на кнопку Run Install, чтобы продолжить.

В следующем окне WordPress попросит вас ввести информацию о вашем сайте, выбрать имя пользователя и пароль, а также вписать имейл. Заполните форму и нажмите кнопку Install WordPress.

wp-install-screen

Теперь WordPress запустит инсталляционный скрипт, создаст таблицы в базе данных и ваш вебсайт. Вы увидите сообщение об успешной установке, когда она будет завершена.

wp-install-success

Вот и все, теперь вы можете использовать WordPress на своем Mac в точности так же, как если бы вы запустили его на веб-сервере. Просто включите приложение MAMP, чтобы запустить свой локальный сервер и пользоваться WordPress. Как только вы будете готовы, можете перейти с локального сервера и установить свой сайт WordPress в сети.

Миграция с MAMP в интернет

По многочисленным запросам мы написали инструкцию о том, как перенести WordPress с локального сервера MAMP на вебсайт.

Мы надеемся, что эта статья помогла вам установить WordPress на Mac с помощью MAMP. Оставляйте свои вопросы и отзывы в комментариях к этому посту.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как установить WordPress на другом языке

Мы уже успели поговорить о том, как установить WordPress методом одного клика, о пятиминутной мануальной установке и локальной установке. Недавно мы заметили, что упустили одну достаточно важную вещь: локализация WordPress. WordPress используется на миллионах сайтов по всему миру. Одна из причин такой популярности кроется в том, что WordPress легко локализируется и может быть использован на любом языке. В этой статье мы покажем, как установить WordPress на нужном вам языке.

wordpress-languages

Что нужно знать перед локализацией WordPress

Вам потребуется домен и аккаунт на веб-хостинге. Чтобы установить WordPress, читайте нашу инструкцию о том, как установить WordPress.

Теперь, когда установка WordPress завершена, давайте разберемся с настройками языка.

Как поменять язык на WordPress

Поменять язык на WordPress очень просто. Зайдите в Settings > General и спуститесь в низ страницы. Вы увидите опцию выбора языка сайта.

installing-language

WordPress целиком переведен на многие языки. Вы увидите только те языки, перевод на которые доступен. Но если вы не видите нужный вам язык, это еще не значит, что он недоступен и вы не сможете его использовать.

Мануальная установка перевода WordPress на альтернативный язык

WordPress использует систему gettext для переводов (локализации и интернационализации). Волонтеры WordPress со всего мира используют основной шаблон .pot, чтобы переводить WordPress на свои языки. В результате получается по два файла на каждый язык. Формат Portable Object в расширении .po, и Machine Object в расширении .mo. Вам понадобится файл .mo для вашего языка.

Зайдите на страницу WordPress in your Language, чтобы проверить, имеется ли перевод на ваш язык.

Вам нужно скачать и загрузить языковой файл .mo в вашу папку /wp-content/languages/ или /wp-includes/languages/. Вам придется создать новую папку под названием languages в директории wp-content.

Когда вы загрузили все файлы .mo и .po для вашего языка, следующий шаг – сделать так, чтобы WordPress начал их использовать. Откройте свой файл wp-config.php и добавьте следующий код:

// Replace fr_FR with your language and country code
define ('WPLANG', 'fr_FR');

Замените fr_FR кодом своего языка и страны. Две первые буквы – это код языка, две вторые – код страны. Вы можете найти подходящий код языка и страны здесь.

Как только вы добавили этот текст в wp-config, WordPress начнет автоматически отображать раздел администратора на вашем языке. Те из вас, кто не хочет мучиться с кодом, могут воспользоваться плагином WP Native Dashboard. Этот плагин позволяет без труда установить и активировать WordPress на вашем языке. Еще одно преимущество плагина WP Native Dashboard в том, что он позволяет пользоваться разными языками. Если ваш сайт WordPress используют несколько авторов, то каждый из них сможет выбрать свой родной язык.

Инсталляционные файлы переведут на другой язык только раздел администратора. Вам может потребоваться перевести вашу тему WordPress и другие плагины. Хотя базовые темы WordPress (twentytwelve и т.п.) доступны со встроенным RTL стилем, в остальных его может не быть.

Помогите перевести WordPress на ваш язык

Если вы не нашли перевод WordPress для своего языка, может быть вы сможете поучавствовать в его создании. WordPress – это программное обеспечение open source, и все доступные на данный момент переводы были созданы волонтерами со всего мира. Зайдите на страницу Translating WordPress для более подробной информации о том, как вы можете посодействовать.

Мы надеемся, что эта статья помогла вам установить WordPress на своем языке. Если у вас есть комментарии, смело оставляйте их под этим постом.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как перенаправить пользователей на случайный пост в WordPress

Существует такая функция на сайтах в виде кнопок, когда пользователь кликает на неё, его переносят в случайный пост на сайте. Мы посчитали, что будет интересно добавить кнопку как в гугле «Мне повезёт». В этой статье мы расскажем вам, как перенаправить пользователей на случайный пост в WordPress.

Откройте файл темы functions.php и создайте пустой файл, после чего вставьте следующий код:

add_action('init','random_add_rewrite');
function random_add_rewrite() {
       global $wp;
       $wp->add_query_var('random');
       add_rewrite_rule('random/?$', 'index.php?random=1', 'top');
}

add_action('template_redirect','random_template');
function random_template() {
       if (get_query_var('random') == 1) {
               $posts = get_posts('post_type=post&orderby=rand&numberposts=1');
               foreach($posts as $post) {
                       $link = get_permalink($post);
               }
               wp_redirect($link,307);
               exit;
       }
}

Пояснение сниппета:

Этот сниппет добавляет переменную Random. После чего использует template_redirect и сообщает: если переменная random здесть, то нужно получить пост случайно. После чего происходит простое перенаправление.

Причина, почему сниппет использует 307 перенаправление — так как это временное перенаправление. Часто браузера кешируют 302 редирект, который известен своими временными перенаправлениями.

Несколько возможных багов:

Если вы используете W3 Total Cache и у вас есть кеширующаяся база данных, то вам  надо добавить следующие правила к листу исключений:

/random/
/index.php?random=1

Если вы используете Yoast SEO плагин, то не используйте флажок перенаправления плохих ссылок в области постоянных ссылок, иначе код не будет работать.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как добавить динамические боковые панели для виджетов?

Виджеты это неотделимая часть тем для WordPress, трудно представить себе тему для WordPress без виджетов. Виджеты это выполняемые скрипты, которые можно просто перенести на боковую панель или любую область вашей темы. Многие из наших пользователей используют виджеты, чтобы добавлять пользовательские элементы на боковую панель. Однако эта статья предназначена для тех, что хочет добавлять динамические боковые панели для виджетов в темы для WordPress.

Регистрация боковых панелей и областей для виджетов в WordPress

Первым делом нужно зарегистрировать вашу боковую панель или область для виджетов в вашей теме. Мы можете зарегистрировать несколько таких. Скопируйте и вставьте код в файл вашей темы functions.php.

function wpb_widgets_init() {

	register_sidebar( array(
		'name' => __( 'Main Sidebar', 'wpb' ),
		'id' => 'sidebar-1',
		'description' => __( 'The main sidebar appears on the right on each page except the front page template', 'wpb' ),
		'before_widget' => '
<aside id="%1$s" class="widget %2$s">',
		'after_widget' => '</aside>

',
		'before_title' => '
<h3 class="widget-title">',
		'after_title' => '</h3>

',
	) );

	register_sidebar( array(
		'name' =>__( 'Front page sidebar', 'wpb'),
		'id' => 'sidebar-2',
		'description' => __( 'Appears on the static front page template', 'wpb' ),
		'before_widget' => '
<aside id="%1$s" class="widget %2$s">',
		'after_widget' => '</aside>

',
		'before_title' => '
<h3 class="widget-title">',
		'after_title' => '</h3>

',
	) );
	}

add_action( 'widgets_init', 'wpb_widgets_init' );

В этом коде, мы зарегистрировали две боковых панели. Мы дали им имена и описания, чтобы идентифицировать их на экране виджетов. Параметр описания может быть использован , чтобы сообщить пользователям, где эта боковая панель появится в теме. Имя в теме wpb используется, чтобы сделать все строки переводимыми. Вы должны заменить их именем вашей темы.

WordPress

Добавление динамических боковых панелей для виджетов в файлы темы WordPress

Пока что мы лишь зарегистрировал динамические боковые панели. Пользователи могут перенести виджеты на эти боковые панели через Appearance » Widgets. Однако они не появятся на сайте, пока они называют в шаблоне как sidebar.php или по-другому. Чтобы их добавить, отредактируйте файл шаблона и вставьте этот код:

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>

<div id="secondary" class="widget-area" role="complementary">
	<?php dynamic_sidebar( 'sidebar-1' ); ?>
	</div>

<?php endif; ?>

В этом примере, мы использовали id боковой панели, чтобы вызвать ту боковую панель, которую мы хотим видеть. Смените id боковой панели чтобы показать другую. Например, вы можете зарегистрировать три боковых панели для нижнего колонтитула и после вызвать их по очереди в шаблоне темыfooter.php.

Виджеты могут быть очень полезными. Вы можете добавить виджеты в содержимое вашего постасделать ваши текстовые виджеты более красочными, или расширить функционал стандартных виджетов WordPress.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как правильно перенести свой блог c WordPress.com на WordPress.org

Итак, вы уже какое-то время пользуетесь WordPress.com и вас все устраивает, но пришел момент, когда вы поняли, что готовы двигаться дальше. Вы хотите устанавливать плагины и адаптировать под себя темы. Вы хотите по-настоящему монетизировать свой сайт и получить над ним полный контроль. Вы обратились по адресу. Хоть в сегодняшней статье мы и не будем обсуждать различия между WordPress.com и WordPress.org, мы рассмотрим вопрос, который задают множество пользователей: как сделать из уже существующего блога WordPress.com – сайт на WordPress.org? В этом пошаговом уроке мы покажем, как правильно перенести ваш блог c WordPress.com на WordPress.org. Мы расскажем, как перенести весь ваш контент из WordPress.com на сайт WordPress.org (в том числе изображения). Мы также поговорим о том, как сохранить свою позицию в рейтинге поисковых систем и перенаправить ваших пользователей на новый сайт. Вы готовы? Тогда начинаем миграцию вашего блога WordPress.com на новый независимый сайт.

 

Что вам потребуется

Для начала вам нужен домен и хорошая веб-хостинговая компания, знакомая с WordPress. Мы рекомендуем использовать Bluehost, потому что их официально поддерживает WordPress.

Если у вашего сайта WordPress уже есть свое доменное имя, то все в порядке. Мы тоже это обсудим. Наконец, вам нужно иметь доступ к своему аккаунту на WordPress.com, чтобы вы смогли с легкостью перенести все ваши посты, страницы, изображения, комментарии и другие данные на независимый сайт WordPress.

 

Видео урок

Если вам не понравилось видео или нужна более подробная инструкция, читайте дальше.

 

Шаг 1: Экспорт данных из WordPress.com

Зайдите на свой аккаунт WordPress.com, а затем – в панель управления блогом. Нажмите на Export в меню Tools.

export-wordpressdotcom

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

export-free-paid

Выберите бесплатный вариант, нажав на Export. Далее вас спросят, какие данные вы хотите экспортировать. Выберите “All Content” и нажмите на кнопку Download Export File. На ваш компьютер скачается XML файл, содержащий все ваши посты, страницы, изображения, комментарии, дополнительные поля, категории, тэги, навигационные меню и другая информация.

export-options

Шаг 2: Настройка WordPress

Теперь, когда вы экспортировали ваши данные из WordPress.com, следующий шаг – запустить установку WordPress на вашем веб-хостинге. WordPress очень легко установить, всего за несколько кликов. У нас есть пошаговая инструкция по установке WordPress за пять минут. Как только вы установили WordPress, можно импортировать ваш контент на новый сайт.

Шаг 3: Импорт контента на независимый сайт WordPress

Чтобы импортировать ваш старый контент с WordPress.com на новый сайт, вам нужно нажать на Tools > Import в панели управления сайта WordPress.org.

wordpressdotcom-import

Далее – нажмите на WordPress. Вас попросят установить плагин WordPress Importer. Когда вы установили этот плагин, активируйте и запускайте его. Вас попросят загрузить ваш XML файл, который вы скачали ранее.

import-wordpress

Примечание: если ваш файл больше, чем 2MB, у вас есть два варианта. Первый – попросить вашу веб-хостинговую компанию временно увеличить лимит загрузки, чтобы вы могли завершить этот процесс. Второй вариант – разбить ваш файл с помощью WXR file splitter.

Когда вы начнете импортировать, у вас появится возможность передать права на старый контент существующему пользователю, или создать нового. У вас также будет возможность импортировать старые вложения (обязательно отметьте этот бокс, чтобы импортировать ваши изображения).

Шаг 4: Импорт ваших ссылок

Если вы использовали функцию Links в вашем блоге на WordPress.com, чтобы сохранять блогролл или другие ссылки, то вам нужно выполнить этот шаг, чтобы их экспортировать и импортировать. Пользователи, которые не использовали эту функцию, могут этот шаг пропустить.

Блогролл экспортируется в формате OPML. Это формат XML, который позволяет экспортировать и импортировать ссылки и категории ссылок. Файл OPML с вашими ссылками с WordPress.com можно найти по адресу:

Замените example на под-домен вашего блога WordPress.com. Если вы используете собственный домен, тогда ваш файл OPML можно найти по такому адресу:

http://www.example.com/wp-links-opml.php

Ваш файл OPML откроется в окне браузера и вам нужно будет сохранить его на рабочем столе. Нажмите CTRL+S (Command+S для Mac), чтобы сохранить файл на свой компьютер.

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

Сначала вам нужно будет установить и активировать плагин Link Manager. На странице плагина сказано, что он не обновлялся последние два года. Это потому, что ему не требовались обновления, и вы можете смело устанавливать этот плагин.

При активации плагин добавит новый пункт в меню на панели администратора WordPress в разделе Links.

links-manager

Теперь на вашем сайте WordPress можно управлять ссылками и блогроллом, и вы можете спокойно их импортировать. Зайдите в Tools > Import и нажмите на Blogroll, чтобы установить импортер для OPML.

blogroll-importer

После установки вас перенаправят к импортеру, где вам потребуется загрузить файл OPML, который вы ранее сохранили, и нажать на кнопку Import OPML File.

importing-opml-file

Теперь WordPress импортирует ваши ссылки и категории ссылок из файла OPML. Вы сможете наблюдать за этим процессом, после чего увидите сообщение об успешном завершении.

success

Шаг 5: Закрытие доступа к блогу на WordPress.com

Последний шаг – это закрытие доступа к вашему блогу на WordPress.com. Если вы не хотите перенаправлять прежних пользователей на новый сайт, зайдите на страницу Reading в разделе Settings в панели управления вашего блога WordPress.com и выберите опцию “I would like my blog to be private, visible only to users I choose”.

privacy-wpdotcom

Внимание: если вы ведете блог уже какое-то время и у вас собралась постоянная аудитория, то нет смысла их бросать. К тому же, если ваш блог был активен значительное количество времени, то скорее всего он проиндексирован в Google и других поисковых системах. Вам стоит сохранить свои данные в поисковиках и перенаправить старых пользователей на свой новый блог.

Шаг 6: Перенаправление посетителей и сохранение SEO

Перенаправление пользователей по новому адресу через код 301 – стандартное решение, позволяющее сохранить рейтинг в поисковых системах при переезде с одного адреса на другой. Так как на WordPress.com у вас нет доступа к .htaccess, вы не можете сами вносить изменения, чтобы сохранить рейтинги. Однако WordPress.com предоставляет платный апгрейд Site Redirect, который выполняет эту функцию.

Зайдите в панель управления WordPress.com и нажмите на Store. Найдите апгрейд под названием Site Redirect. На момент написания данного урока он стоит $13 в год. Этот апгрейд предоставляет перенаправление 301 и позволяет посетителям вашего сайта и поисковым системам автоматически попадать на ваш новый сайт.

wpcom-site-redirect

Вы спросите – как долго я должен платить за этот апгрейд? Столько, сколько хотите. Однако мы думаем, что двух лет должно вполне хватить, чтобы ваши пользователи запомнили ваш новый домен.

Если вы меняете домен, вам также нужно обновить все ссылки в постах. Если вы связывали собственные посты ссылками, их придется обновить. Читайте нашу статью о том, как обновить URL при миграции сайта WordPress.

Часто задаваемые вопросы

Что будет с моими подписчиками на WordPress.com?

К счастью, WordPress.com позволяет вам мигрировать ваших подписчиков с одним условием. Вы должны использовать плагин Jetpack, который добавляет функцию подписчиков, которая также присутствовала на WordPress.com. Полсе установки и активизации плагина Jetpack, вам нужно будет связаться с командой WordPress.com и попросить их перенести ваших подписчиков. Мы надеемся, что с последующими версиями Jetpack этот процесс станет проще, и пользователи смогут делать это сами.

Сколько стоит перейти на WordPress.org?

WordPress ничего не стоит. Однако присутствуют минимальные расходы на веб-хостинг. Мы рекомендуем прочитать статью: Почему WordPress бесплатный? Каковы расходы? В чем подвох?

Полетят ли мои изображения?

Нет. Когда вы переносите изображения, используя файл импортации, все вложенные изображения скачиваются, а ссылки обновляются. Однако есть одна оговорка. Если адрес вашего изображения начинается с files.wordpress.com, то они не будут конвертированы. Если вы заметили, что адрес изображения не поменялся и по прежнему ссылается на WordPress.com, мы рекомендуем воспользоваться плагином для импортации внешних изображений, который должен это исправить.

Я зарегистрировал домен через WordPress.com, могу ли я мигрировать?

Да, можете. WordPress дает своим пользователям полный контроль над их контентом. Если у вас уже есть домен, который вы получили через WordPress.com, то все, что вам нужно – это веб-хостинговый аккаунт. Мы рекомендуем BlueHost или один из других провайдеров хостинга для WordPress. В процессе регистрации вас спросят, есть ли у вас домен или вы хотите зарегистрировать новый. Просто отметьте, что у вас уже есть домен, и введите его название. Далее вам потребуется поменять серверы имен, чтобы они указывали на вашего хостинг провайдера. Вы также можете обратиться к вашему хостинг провайдеру за помощью.

Отключится ли мой сайт, когда я перееду?

Если вы все сделаете правильно, то нет. Метод, который мы предлагаем, гарантирует, что ваш сайт не отключится. Если вы в чем-то не уверены – обращайтесь к нам за помощью.

Мы надеемся, что этот урок помог вам мигрировать с WordPress.com на независимый WordPress.org. Если у вас есть какие-либо вопросы, пишите нам в комментариях.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как сделать переключающиеся отзывы в WordPress

Недавно мы делали переключающиеся отзывы на WordPress для одного из наших клиентов. Мы искали в интернете, но так и не нашли плагин, который нам был нужен. Мы решили не искать плагин, а создать его с нуля. В этой статье мы покажем вам как создавать область переключающихся отзывов, где они будут появляться и исчезать автоматически. Вы можете использовать данную технику и для цитат, интересных фактов и так далее.

Помните, что вам необходимо понимать принципы работы WordPress, чтобы освоить данный материал.

Данный метод довольно прост: Зарегистрируйте пользовательский тип поста и назовите его Отзывы. Мы покажем следующую информацию: имя клиента, его позицию в компании, имя компании и ссылка на наше портфолио. Вместо использования пользовательских полей, мы решили добавить мета-области, чтобы сделать ввод информации более удобным. Также мы добавили эффекты появления и исчезновения на JavaScript для смены приветствий на самой странице.

Шаг 1: Зарегистрируйте пользовательский тип поста

Не будем вдаваться в подробности о том, как создавать пользовательский тип поста. Мы уже писали статью о том, как создавать пользовательские посты в WordPress. В данной статье вы сможете полностью понять весь процесс. Там также показывается метод с плагинами, а не метод с кодом. Если вы хотите назвать пользовательский пост «Отзывы», то всё что вам нужно — вставить данный код в файл темы functions.php.

add_action( 'init', 'wpb_register_cpt_testimonial' );

function wpb_register_cpt_testimonial() {

    $labels = array( 
        'name' => _x( 'Testimonials', 'testimonial' ),
        'singular_name' => _x( 'testimonial', 'testimonial' ),
        'add_new' => _x( 'Add New', 'testimonial' ),
        'add_new_item' => _x( 'Add New testimonial', 'testimonial' ),
        'edit_item' => _x( 'Edit testimonial', 'testimonial' ),
        'new_item' => _x( 'New testimonial', 'testimonial' ),
        'view_item' => _x( 'View testimonial', 'testimonial' ),
        'search_items' => _x( 'Search Testimonials', 'testimonial' ),
        'not_found' => _x( 'No testimonials found', 'testimonial' ),
        'not_found_in_trash' => _x( 'No testimonials found in Trash', 'testimonial' ),
        'parent_item_colon' => _x( 'Parent testimonial:', 'testimonial' ),
        'menu_name' => _x( 'Testimonials', 'testimonial' ),
    );

    $args = array( 
        'labels' => $labels,
        'hierarchical' => false,
        
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'custom-fields', 'revisions' ),
        
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        
        
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );

    register_post_type( 'testimonial', $args );
}

Шаг 2: Добавление пользовательских мета-областей

Как мы уже говорили, вот информация, которую мы хотим показать:

  • Имя
  • Позиция в компании
  • Имя компании
  • Ссылка на портфолио

Теперь вы можете начать использовать пользовательские поля, но мы предпочли бы иметь более красивое отображение данного блока. Вот код, который мы использовали для добавления мета-области:

$key = "testimonial";
$meta_boxes = array(
"person-name" => array(
"name" => "person-name",
"title" => "Person's Name",
"description" => "Enter the name of the person who gave you the testimonial."),
"position" => array(
"name" => "position",
"title" => "Position in Company",
"description" => "Enter their position in their specific company."),
"company" => array(
"name" => "company",
"title" => "Company Name",
"description" => "Enter the client Company Name"),
"link" => array(
"name" => "link",
"title" => "Client Link",
"description" => "Enter the link to client's site, or you can enter the link to your portfolio page where you have the client displayed.")
);
 
function wpb_create_meta_box() {
global $key;
 
if( function_exists( 'add_meta_box' ) ) {
add_meta_box( 'new-meta-boxes', ucfirst( $key ) . ' Information', 'display_meta_box', 'testimonial', 'normal', 'high' );
}
}
 
function display_meta_box() {
global $post, $meta_boxes, $key;
?>
 
<div class="form-wrap">
 
<?php
wp_nonce_field( plugin_basename( __FILE__ ), $key . '_wpnonce', false, true );
 
foreach($meta_boxes as $meta_box) {
$data = get_post_meta($post->ID, $key, true);
?>
 
<div class="form-field form-required">
<label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php echo (isset($data[ $meta_box[ 'name' ] ]) ? htmlspecialchars( $data[ $meta_box[ 'name' ] ] ) : ''); ?>" />
<p><?php echo $meta_box[ 'description' ]; ?></p>
</div>
 
<?php } ?>
 
</div>
<?php
}
 
function wpb_save_meta_box( $post_id ) {
global $post, $meta_boxes, $key;
 
foreach( $meta_boxes as $meta_box ) {
if (isset($_POST[ $meta_box[ 'name' ] ])) {
$data[ $meta_box[ 'name' ] ] = $_POST[ $meta_box[ 'name' ] ];
}
}
 
if (!isset($_POST[ $key . '_wpnonce' ])) 
return $post_id;

if ( !wp_verify_nonce( $_POST[ $key . '_wpnonce' ], plugin_basename(__FILE__) ) )
return $post_id;
 
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
 
update_post_meta( $post_id, $key, $data );
}
 
add_action( 'admin_menu', 'wpb_create_meta_box' );
add_action( 'save_post', 'wpb_save_meta_box' );

Теперь, если вы перейдёте в раздел New Testimonial, вы увидите, что у вас появится пользовательская мета-область.

Если вы хотите добавить дополнительные поля для мета-области, просто добавьте их в $meta_boxes = array(.

Шаг 3: Добавление меняющегося контента

Первым делом нам надо добавить JavaScript, который будет менять контент.

<script language="javascript"> 
$(document).ready(function(){
	$('#testimonials .slide');
	setInterval(function(){
		$('#testimonials .slide').filter(':visible').fadeOut(1000,function(){
			if($(this).next('.slide').size()){
				$(this).next().fadeIn(1000);
			}
			else{
				$('#testimonials .slide').eq(0).fadeIn(1000);
			}
		});
	},15000);	
});	
</script>

Убедитесь, что jQuery загружен. Если нет, то его необходимо добавить.

Далее мы создадим цикл, который будет показывать отзывы. Вот код, который мы использовали:

<div id="testimonials">
<?php
$args = array( 'post_type' => 'testimonial', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
$data = get_post_meta( $loop->post->ID, 'testimonial', true );
static $count = 0;
if ($count == "1") { ?>



<div class="slide" style="display: none;">
<div class="client-contact-info"><?php echo $data[ 'person-name' ]; ?>,&nbsp;<?php echo $data[ 'position' ]; ?>,&nbsp;<a href="<?php echo $data[ 'link' ]; ?>" title="<?php echo $data[ 'company' ]; ?>"><?php echo $data[ 'company' ]; ?></a></div>
<div class="clear"></div>
<div class="testimonial-quote"><?php the_content(); ?></div>
</div>
<?php }
else { ?>


<div class="slide">
<div class="client-contact-info"><?php echo $data[ 'person-name' ]; ?>,&nbsp;<?php echo $data[ 'position' ]; ?>,&nbsp;<a href="<?php echo $data[ 'link' ]; ?>" title="<?php echo $data[ 'company' ]; ?>"><?php echo $data[ 'company' ]; ?></a></div>
<div class="clear"></div>
<div class="testimonial-quote"><?php the_content(); ?></div>
</div>

<?php 
$count++; } 
endwhile; 
endif; ?>
</div>

Нужно вставить данный код в любое место, чтобы показать отзывы, вне зависимости от того, является ли это страницей, пользовательским постом, боковой панелью или нижним колонтитулом. Выберите место и вставьте код.

Небольшое пояснение, почему этот цикл немного более сложный, чем обычный цикл. Сначала цикл вытягивает посты из типа постов «Отзывы». Мы показываем лишь 10 недавних отзывов. Скрипт работает так, что нужно показывать лишь один пост, остальные 9 должны быть невидимыми, и могут появляться или исчезать.

Как только вы вставили код, нужно применить к нему стили.

#testimonials{}
#testimonials .slide{color: #9c968e;}
#testimonials .client-contact-info{margin: 25px 0 0 0; float: left;}
#testimonials .testimonial-quote{padding: 3px 0 0 65px; line-height: 1.5em; font-family: "proxima-nova-1", "proxima-nova-2", Helvetica, Arial, sans-serif !important; font-size: 16px; font-weight: normal; font-style: italic; margin: 10px 0 20px 0;}

Теперь результат будет выглядеть так:

Имя клиента, Его позиция в компании, Имя компании (ссылка)
Текст приветствия

Осталось лишь упомянуть пару мелочей. Если вы хотите добавить дополнительные поля, то нужно также добавить их к циклу. Стили можно изменять когда и как хотите.

Так как эта вещь довольно специфична, то и не стоит выпускать специальный плагин для этого. Однако, если вы хотите добиться точно такого же результата как и в нашей статье, то вам повезло.

Просто создайте новый файл и назовите его testimonials.php, сохраните его в папке с плагинами (/wp-content/plugins/). После вставьте следующий код в файл:

                                             
                                             
<?php 


add_action( 'init', 'wpb_register_cpt_testimonial' );

function wpb_register_cpt_testimonial() {

    $labels = array( 
        'name' => _x( 'Testimonials', 'testimonial' ),
        'singular_name' => _x( 'testimonial', 'testimonial' ),
        'add_new' => _x( 'Add New', 'testimonial' ),
        'add_new_item' => _x( 'Add New testimonial', 'testimonial' ),
        'edit_item' => _x( 'Edit testimonial', 'testimonial' ),
        'new_item' => _x( 'New testimonial', 'testimonial' ),
        'view_item' => _x( 'View testimonial', 'testimonial' ),
        'search_items' => _x( 'Search Testimonials', 'testimonial' ),
        'not_found' => _x( 'No testimonials found', 'testimonial' ),
        'not_found_in_trash' => _x( 'No testimonials found in Trash', 'testimonial' ),
        'parent_item_colon' => _x( 'Parent testimonial:', 'testimonial' ),
        'menu_name' => _x( 'Testimonials', 'testimonial' ),
    );

    $args = array( 
        'labels' => $labels,
        'hierarchical' => false,
        
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'custom-fields', 'revisions' ),
        
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        
        
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );

    register_post_type( 'testimonial', $args );
}

$key = "testimonial";
$meta_boxes = array(
"person-name" => array(
"name" => "person-name",
"title" => "Person's Name",
"description" => "Enter the name of the person who gave you the testimonial."),
"position" => array(
"name" => "position",
"title" => "Position in Company",
"description" => "Enter their position in their specific company."),
"company" => array(
"name" => "company",
"title" => "Company Name",
"description" => "Enter the client Company Name"),
"link" => array(
"name" => "link",
"title" => "Client Link",
"description" => "Enter the link to client's site, or you can enter the link to your portfolio page where you have the client displayed.")
);
 
function wpb_create_meta_box() {
global $key;
 
if( function_exists( 'add_meta_box' ) ) {
add_meta_box( 'new-meta-boxes', ucfirst( $key ) . ' Information', 'display_meta_box', 'testimonial', 'normal', 'high' );
}
}
 
function display_meta_box() {
global $post, $meta_boxes, $key;
?>
 
<div class="form-wrap">
 
<?php
wp_nonce_field( plugin_basename( __FILE__ ), $key . '_wpnonce', false, true );
 
foreach($meta_boxes as $meta_box) {
$data = get_post_meta($post->ID, $key, true);
?>
 
<div class="form-field form-required">
<label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php echo (isset($data[ $meta_box[ 'name' ] ]) ? htmlspecialchars( $data[ $meta_box[ 'name' ] ] ) : ''); ?>" />
<p><?php echo $meta_box[ 'description' ]; ?></p>
</div>
 
<?php } ?>
 
</div>
<?php
}
 
function wpb_save_meta_box( $post_id ) {
global $post, $meta_boxes, $key;
 
foreach( $meta_boxes as $meta_box ) {
if (isset($_POST[ $meta_box[ 'name' ] ])) {
$data[ $meta_box[ 'name' ] ] = $_POST[ $meta_box[ 'name' ] ];
}
}
 
if (!isset($_POST[ $key . '_wpnonce' ])) 
return $post_id;

if ( !wp_verify_nonce( $_POST[ $key . '_wpnonce' ], plugin_basename(__FILE__) ) )
return $post_id;
 
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
 
update_post_meta( $post_id, $key, $data );
}
 
add_action( 'admin_menu', 'wpb_create_meta_box' );
add_action( 'save_post', 'wpb_save_meta_box' );



function wpb_display_testimonials() { ?>
<script language="javascript"> 
$(document).ready(function(){
	$('#testimonials .slide');
	setInterval(function(){
		$('#testimonials .slide').filter(':visible').fadeOut(1000,function(){
			if($(this).next('.slide').size()){
				$(this).next().fadeIn(1000);
			}
			else{
				$('#testimonials .slide').eq(0).fadeIn(1000);
			}
		});
	},15000);	
});	
</script> 
<style type="text/css">
#testimonials .slide{color: #9c968e;}
#testimonials .client-contact-info{margin: 25px 0 0 0; float: left;}
#testimonials .testimonial-quote{background: url(images/quotebg.png) repeat-y; padding: 3px 0 0 65px; line-height: 1.5em; font-family: "proxima-nova-1", "proxima-nova-2", Helvetica, Arial, sans-serif !important; font-size: 16px; font-weight: normal; font-style: italic; margin: 10px 0 20px 0;}
</style>
<div id="testimonials">
<?php
$args = array( 'post_type' => 'testimonial', 'posts_per_page' => 100, 'orderby'   => 'menu_order', 'order'     => 'ASC' );
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
$data = get_post_meta( $loop->post->ID, 'testimonial', true );
static $count = 0;
if ($count == "1") { ?>



<div class="slide" style="display: none;">
<div class="client-contact-info"><?php echo $data[ 'person-name' ]; ?>,&nbsp;<?php echo $data[ 'position' ]; ?>,&nbsp;<a href="<?php echo $data[ 'link' ]; ?>" title="<?php echo $data[ 'company' ]; ?>"><?php echo $data[ 'company' ]; ?></a></div>
<div class="clear"></div>
<div class="testimonial-quote"><?php the_content(); ?></div>
</div>
<?php }
else { ?>


<div class="slide">
<div class="client-contact-info"><?php echo $data[ 'person-name' ]; ?>,&nbsp;<?php echo $data[ 'position' ]; ?>,&nbsp;<a href="<?php echo $data[ 'link' ]; ?>" title="<?php echo $data[ 'company' ]; ?>"><?php echo $data[ 'company' ]; ?></a></div>
<div class="clear"></div>
<div class="testimonial-quote"><?php the_content(); ?></div>
</div>

<?php 
$count++; } 
endwhile; 
endif;
echo '</div>';
}
?>

Теперь откройте ваш файл темы, в которой вы хотите отобразить всё это, и вставьте код:

<?php wpb_display_testimonials(); ?>

Вы также можете изменить стили. Помните, что если jQuery не был добавлен в тему, то нужно его добавить.

Надеемся, данная статья вам помогла, если у вас есть вопросы, то напишите его в комментариях.

 


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как добавить раздел с FAQ в WordPress

Когда вы запускаете новый продукт или вебсайт, вам возможно потребуется добавить раздел с часто задаваемыми вопросами (FAQ), в большинстве случаев FAQ увеличивается, по мере роста продукта и клиентской базы. В этом случае, вам нужен метод правильно управлять FAQ на вашем сайте WordPress. В этой статье мы покажем вам, как создать раздел FAQ в WordPress.

WordPress

Простой метод

В этом методе всего-то нужно создать пост или страницу и перечислить все ЧЗВ там. Если вам нужно лишь это, то на этом для вас статья заканчивается.

Если вы хотите создать искусный раздел FAQ, то продолжайте чтение.

 

Добавление менеджера FAQ в WordPress

Первый делом нужно установить и активировать плагин Quick and Easy FAQs. После установки, плагин добавить раздел FAQ в меню администратора WordPress.

Вам необходимо перейти в FAQs » Add New  и добавить свой первый часто задаваемый вопрос. Сам редактор выглядит очень похоже на редактор постов.

WordPress

Добавьте вопрос в поле заголовка и ответ в поле для поста. Справа находится колонка, где находится секция с группами для FAQ. Эти группы что-то типа категорий в постах WordPress. Вы можете использовать группы для сортировки вопросов по темам или разделам.

Как только вы закончите, нажмите на кнопку опубликования и повторите вопрос для каждого последующего часто задаваемого вопроса, который вы хотите добавить.

После этого, нужно отобразить их на сайте.

Отображение FAQ на сайте WordPress

Вы можете с лёгкостью отобразить FAQ используя короткий код со страницы со всеми часто задаваемыми вопросами, или же добавить его на любой пост или страницу. Данный плагин имеет несколько вариантов отображения.

  1. Отобразите FAQ в виде списка

Данная опция отобразит FAQ в виде списка, где вопросы перечислены наверху, а пользователь может проматывать страницу и открывать вопрос, чтобы увидеть ответ внизу.

Короткий код: [faqs]

WordPress

2. Отобразите FAQ в виде гармошки

Данная опция позволяет отображать FAQ в стиле гармошки или jQuery Toggle. Вопрос раскроется, когда пользователь нажмёт на него.

Короткий код: [faqs style=”toggle”]

WordPress

Загляните на вебсайт плагина, где находится полный список с короткими кодами.

Смена отображения FAQ

Плагин зависит от цветов и шрифтов самой темы. Вы можете изменить отображение стилей темы, используя CSS.

Однако, если вы незнакомы с CSS, вы можете использовать плагин типа CSS Hero, чтобы изменить любой стиль в теме WordPress.

Плагин использует встроенные стили для управления отображением FAQ. Он также снабжён простым пользовательским интерфейсом для смены цветов вашего FAQ. Перейдите в Plugins » Quick and Easy FAQ для смены стандартных цветов.

WordPress

Для начала вам надо выбрать кастомные цвета для опции ‘FAQs toggle colors’. После этого вы можете выбрать цвета, которые вы хотите использовать.

Не забудьте нажать на кнопку Сохранить для сохранения изменений.

Изменить порядок отображения для FAQ

По умолчанию, плагин показывает лишь недавние вопросы. Вот как вы можете изменить порядок отображения FAQ и перегруппировать вопросы так, как вы хотите.

Первым делом нужно установить и активировать плагин Post Types Order. После активации, перейдите на страницу в Settings » Post Types Order.

WordPress

Для начала вам надо выбрать следующие параметры, как на картинке выше, после чего нажмите на кнопку Сохранить.

Теперь перейдите на страницу FAQs » Re-Order. Просто перетаскивайте заголовки FAQ, чтобы группировать их так, как вам нужно.

WordPress

Не забудьте сохранить изменения. На это всё, вы можете посмотреть на результат на странице с FAQ.

 


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как правильно добавить скрипты и стили в WordPress

Недавно мы рассматривали код для одного из плагинов, что прислал один из наших пользователей. Плагин работал отлично, но разработчик не учёл некоторых аспектов при загрузке с внешних источников JavaScript. WordPress имеет систему очереди для добавки внешних скриптов и стилей, что помогает предотвратить конфликты плагинов. Так как большинство держит более одного плагина на своём сайте, то будет полезным прочитать данную статью. Мы покажем вам, когда правильно добавлять JavaScript и стили в WordPress. Это будет крайне полезно всем, кто начал осваивать разработку плагинов и тем для WordPress.

Ошибка

У WordPress есть функция wp_head , которая позволяет загрузить что угодно в шапку вашего сайта. Для добавления своих скриптов, многие используют данный код:

&amp;amp;lt;?php
add_action('wp_head', 'wpb_bad_script');
function wpb_bad_script() {
echo 'jQuery goes here';
}
?&amp;amp;gt;

Хоть это и просто, но это неверный способ добавления скриптов в WordPress. Для примера, если вы загружаете jQuery вручную и другой плагин тоже грузит jQuery, то получается, что jQuery загружается дважды. Также две разные версии могут инициировать конфликт.

Давайте посмотрим, как нужно делать.

Зачем ставить скрипты в очередь?

У WordPress имеет большое сообщество разработчиков. Тысячи людей по всему миру придумывают темы и пишут плагины для WordPress. Чтобы убедиться, что всё работает верно и никто не наступает друг другу на ногу, WordPress имеет специальную функцию очереди для скриптом. Функция предоставляет систематическую загрузку JavaScript и стилей. Используя функцию  wp_enqueue_script ,  вы говорите WordPress когда нужно грузить скрипт, где грузить и при каких условиях.

Это позволяет всем использовать встроенные библиотеки JavaScript, которые идут в комплекте с WordPress, а не загружать одни и те же скрипты по нескольку раз. Это также позволяет сократить время загрузки страницы и избежать конфликтов с остальными темами и плагинами.

Как правильно вставить скрипты в очередь в WordPress

Правильная загрузка скриптов в WordPress крайне проста. Внизу дан пример, который вы можете скопировать в файл плагина или в файл темы functions.php , чтобы правильно загружать скрипты в WordPress.

&amp;amp;lt;?php

function wpb_adding_scripts() {
wp_register_script('my_amazing_script', plugins_url('amazing_script.js', __FILE__), array('jquery'),'1.1', true);
wp_enqueue_script('my_amazing_script');
}

add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  
?&amp;amp;gt;

Пояснение:

Мы начали регистрацию нашего скрипта через функцию wp_register_script(). Данная функция принимает 5 параметров:

  • $handle – Удерживать уникальное имя вашего скрипта. Мы назвали наш скрипт “my_amazing_script”
  • $src – src это местоположение вашего скрипта. Мы используем функцию plugins_url чтобы получить правильный URL папки нашего плагина. Как только WordPress найдёт его, он также найдёт скрипт с названием amazing_script.js в этой папке.
  • $deps – deps это для зависимостей. Так как наш скрипт использует jQuery, то мы добавили jQuery в область зависимостей. WordPress автоматически загрузит jQuery, если он ещё не был загружен.
  • $ver – Это номер версии нашего скрипта. Параметр необязателен.
  • $in_footer – Мы хотим загрузить наш скрипт в нижний колонтитул, потому нам надо поставить это значение на true. Если вы хотите загрузить скрипт в шапку, то поставьте false.

После расставления всех параметрво в wp_register_script, вы можете просто вызвать скрипт, который всё сделает: wp_enqueue_script()

Некоторые особо любознательные могут спросить, почему мы сначала зарегистрировали скрипт, а потом поставили в очередь? Это позволяет другим владельцам сайта снять с регистрации ваш скрипт.

Как правильно поставить в очередь стили

Так же как и скрипты, вы можете поставить в очередь свои стили. Посмотрите на пример:

&amp;amp;lt;?php
function wpb_adding_styles() {
wp_register_script('my_stylesheet', plugins_url('my-stylesheet.css', __FILE__));
wp_enqueue_script('my_stylesheet');
}

add_action( 'wp_enqueue_scripts', 'wpb_adding_styles' );  
?&amp;amp;gt;

Заметьте, что мы использовали один и тот же приём wp_enqueue_scripts , чтобы подцеплять и скрипты и стили. Несмотря на имя, функция работает для них обоих.

В примерах выше мы использовали plugins_url для уточнения местоположения скрипта или стиля, который мы хотим поставить в очередь. Однако, если вы используете функцию для очередей в вашей теме, то используйте get_template_directory_uri(). Если вы работаете с дочерней темой, то используйтеget_stylesheet_directory_uri(). Вот пример:

&amp;amp;lt;?php

function wpb_adding_scripts() {
wp_register_script('my_amazing_script', get_template_directory_uri() . '/js/amazing_script.js', array('jquery'),'1.1', true);
wp_enqueue_script('my_amazing_script');
}

add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  
?&amp;amp;gt;

Мы надеемся эта статья помогла вам научиться правильно добавлять JavaScript и стили в темы и плагины WordPress. Для вопросов и комментариев пишите нам в комментарии.

Дополнительные ресурсы:

 


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как сделать FAQ в виде гармошки в WordPress

Недавно один из наших пользователей спросил нас, можно ли создать раздел с часто задаваемыми вопросами в виде раскрывающейся гармошки на WordPress. Существует множество плагинов, который позволяют добавить раздел FAQ в WordPress. В этой статье, мы покажем вам, как создать FAQ гармошку на jQuery на вашем WordPress сайте.

Что за гармошка?

В веб-дизайне, гармошка это термин, используемый для пользовательского интерфейса, который имеет закладки или блоки с текстом, которые могут быть скрыты или раскрыты по желанию пользователя. Каждая закладка имеет контент, который может быть раскрыт, если пользователь нажмёт на заголовок меню. В общем, это меню, которое раскрывается по нажатию на него. Внизу можно увидеть скриншот с простой гармошкой.

WordPress

Добавление FAQ гармошки на jQuery

Перед тем как добавлять гармошку для ЧЗВ, убедитесь, что у вас есть готовый раздел с ЧЗВ. Можете прочитать наше пособие, как добавить раздел FAQ в WordPress.

Что ж, давайте начнём создавать гармошку. WordPress идёт вкупе с библиотекой jQuery, однако тем для jQuery у него нет. Мы загрузим их с Google CDN и вставим скрипты в WordPress. Мы также создадим короткий код, который будет показывать наши ЧЗВ.

Создайте папку на вашем рабочем столе и назовите её my-accordion. Откройте блокнот и создайте файл my-accordion.php и вставьте данный код в него:

&lt;?php

function accordion_shortcode() { 

// Registering the scripts and style
wp_register_style('wpb-jquery-ui-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/humanity/jquery-ui.css', false, null);
wp_enqueue_style('wpb-jquery-ui-style');
wp_register_script('wpb-custom-js', plugins_url('/accordion.js', __FILE__ ), array('jquery-ui-accordion'), '', true);
wp_enqueue_script('wpb-custom-js');

// Getting FAQs from WordPress FAQ Manager plugin's custom post type questions
$posts = get_posts(array(  
'posts_per_page' =&gt; 10,
'orderby' =&gt; 'menu_order',
'order' =&gt; 'ASC',
'post_type' =&gt; 'question',
));
	
// Generating Output 
$faq  .= '&lt;div id=&quot;accordion&quot;&gt;'; //Open the container
foreach ( $posts as $post ) { // Generate the markup for each Question
$faq .= sprintf(('&lt;h3&gt;&lt;a href=&quot;&quot;&gt;%1$s&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;%2$s&lt;/div&gt;'),
$post-&gt;post_title,
wpautop($post-&gt;post_content)
);
}
$faq .= '&lt;/div&gt;'; //Close the container
return $faq; //Return the HTML.
}
add_shortcode('faq_accordion', 'accordion_shortcode');

После сохранения изменений, создайте новый файл и назовите его accordion.js. Вставьте данный код и сохраните файл:

jQuery(document).ready(function() {
jQuery(&quot;#accordion&quot;).accordion();
})();

Теперь наш плагин готов к загрузке. Откройте свой FTP клиент и загрузите папку в директорию сайта /wp-contnt/plugins/. Теперь вам нужно активировать плагин в разделе Плагины в панели администратора.

Добавление страницы с ЧЗВ и гармошкой

Чтобы добавить FAQ в гармошку, нужно создать новую страницу — Pages » Add New. Дайте странице название и вставьте в редактор данный код:

[faq_accordion]

Сохраните и опубликуйте страницу, и вы увидите ваш FAQ с красивым меню в стиле гармошки.

Изменение стиля и цвета гармошки

Для изменения стиля и цвета гармошки можно использовать jQuery UI темы. Вы можете скачать их и установить на свой сайт — на сайте jQuery есть целый раздел с jQuery UI темами. Как видно, мы использовали тему под названием Humanity в нашем плагине. Вы также можете создавать или изменять темы в Themeroller.

WordPress

Надеемся эта статья помогла вам разобраться в том, как добавить FAQ в виде гармошки на сайте WordPress.

 


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520