Статьи

Оповещение пользователей темы о необходимых плагинах

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

Лучший пример этого — настройки SEO, есть премиальные темы WordPress, которые позволяют вам вставлять настройки SEO в панель настроек вашей темы. Это продается как отличная особенность темы, так как вам не нужно устанавливать новый плагин WordPress, чтобы сделать это для вас. Но я чувствую, что это не польза для темы, а просто добавление к теме, которую пользователь не должен использовать.

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

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

Например, если вы хотите добавить аналитику Google на свой веб-сайт, используйте плагин, чтобы при смене темы у вас все еще оставалась эта функциональность.

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

Но если вы не включили настройки SEO в панели настроек своей темы, вам нужно будет обучить пользователя тому, что им следует использовать. Есть несколько действительно хороших плагинов SEO для WordPress, комплексного SEO, headspace2, SEO Ultimate, SEO Rank Reporter, Google XML Sitemaps или плагина, который я использую для плагинов Yoast WordPress SEO . Я бы порекомендовал пользователю темы скачать плагин Yoast WordPress SEO и использовать его для всех там настроек SEO.

Отображать предупреждающее сообщение для установки некоторых плагинов

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

Для этой функции мы можем использовать две встроенные функции WordPress, первая использует функцию is_plugin_active (), а вторая — действие admin_notices .

Функция is_plugin_active () делает именно так , как он называется он возвращает логическое значение в случае , если плагин вы ищете активен. Все, что вам нужно сделать, это указать путь к плагину, и WordPress сообщит вам, активирован ли этот плагин. Если эта проверка возвращает false, мы можем затем использовать действие admin_notices, чтобы отобразить сообщение пользователю, чтобы загрузить этот определенный плагин.

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

add_action('admin_notices', 'showAdminMessages');
function showAdminMessages()
{
	$plugin_messages = array();
	include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
	// Download the Yoast WordPress SEO plugin
	if(!is_plugin_active( 'wordpress-seo/wp-seo.php' ))
	{
		$plugin_messages[] = 'This theme requires you to install the Yoast WordPress SEO plugin, <a href="http://wordpress.org/extend/plugins/wordpress-seo/">download it from here</a>.';
	}
	// Download the Disqus comment system
	if(!is_plugin_active( 'disqus-comment-system/disqus.php' ))
	{
		$plugin_messages[] = 'This theme requires you to install the Disqus comment system plugin, <a href="http://wordpress.org/extend/plugins/disqus-comment-system/">download it from here</a>.';
	}
	// Download the WordPress popular posts plugin
	if(!is_plugin_active( 'wordpress-popular-posts/wordpress-popular-posts.php' ))
	{
		$plugin_messages[] = 'This theme requires you to install the WordPress Popular Post plugin, <a href="http://wordpress.org/extend/plugins/wordpress-popular-posts/">download it from here</a>.';
	}
	if(count($plugin_messages) > 0)
	{
		echo '
<div id="message" class="error">';
			foreach($plugin_messages as $message)
			{
				echo '
<strong>'.$message.'</strong>
';
			}
		echo '</div>
';
	}
}