WordPress Support

Плагин WordPress "Microkid's Related Posts" для вставки "связанных" записей.

Добавлено 15 мая 2010 в категорию Плагины.

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

Скачиваем последнюю версию плагина и устанавливаем:

1. Распаковываем архив.

2. Копируем папку microkids-related-posts в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Теперь осталось добавить код показа связанных записей в шаблон вашей темы. Для показа связанных записей только на странице с полным текстом записи следует отредактировать файл single.php вашей темы, добавив в него:

<?php if( function_exists("MRP_show_related_posts") ) MRP_show_related_posts(); ?>

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

К сожалению, так как плагин весьма молодой, то у него имеются некоторые проблемы с функционалом. Так, например, нельзя задать текст перед ссылками на связанные записи. И нельзя задать текст, выводимый при отсутствии связанных записей (сейчас просто пишется "None"). И что больше всего удивило так это то, что существующий в папке плагина .css файл определяет только стиль, используемый плагином в админке, а вот вывод в шаблоне надо определить самому. Попробуем исправить эти недочеты. Первым делом вывод списка связанных записей делаем так:

<p>Рекомендую также следующие статьи: </p><?php if( function_exists("MRP_show_related_posts") ) MRP_show_related_posts(); ?>

Этим мы добавили заголовок к списку связанных записей. Сам список оформляем редактированием файла стилей вашей темы (как правило, style.css), добавьте в него что-то типа:

#content ul.related-posts-list{
	margin: -5px 0px 3px 10px;
	padding: 0px 0px 10px 0px;
	}
 
#content ul.related-posts-list li{
	font-family: Verdana, Serif;
	list-style-type: square;
	margin: 0px 0px 0px 15px;
	padding: 0px 0px 2px 0px;
	}
 
#content ul.related-posts-list li a{
	line-height: 18px;
	font-family: Verdana, Serif;
	border-bottom: 1px dotted #9c9c9c;
	}

Отредактируйте этот код так, чтобы он вписывался в ваш шаблон. Осталось совсем немного – изменить надпись "None", при отсутствии связанных записей. Открываем файл microkids-related-posts.php из папки microkids-related-posts и меняем код:

177
echo '<p class="no-related-posts">None</p>';

на код:

177
echo '<ul class="related-posts-list"><li>Нет связанных статей.</li></ul>';

Вот и все, теперь список связанных записей будет выглядеть примерно так:

И так:

Но вы, конечно, можете сделать его каким угодно, исправив приведенный выше css код.

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

 

Автор плагина: Microkid

Страница плагина: [ссылка]

Рассматриваемая версия: 2.5 от 23.01.2010

Совместимость с версией WordPress: 2.5 и выше.

Плагин WordPress "Inline PHP" позволяет выполнять php-код прямо в постах.

Добавлено 13 мая 2010 в категорию Плагины.

Маленький плагин, который позволяет вставить в пост или страницу php-код. Формально он поддерживает и php4 и php5, но фактически работа плагина с php4 автором плагина не гарантируется, так что имейте это ввиду.

Скачиваем последнюю версию плагина и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку inline-php в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Все, плагин работает, никаких дополнительных настроек у него нет. Использование плагина очень простое, надо все лишь заключить php-код в теги [exec][/exec] или <exec></exec>. Как пример код:

<exec> echo ‘Это тест’; </exec> выдаст

Это тест

Помните только, что код в этих тегах будет выполнен плагином в любом случае, всяческие теги вроде <code> или [code] полностью плагином игнорируются.

 

Автор плагина: kukukuan

Страница плагина: ([ссылка]

Рассматриваемая версия: 1.2.2 от 23.10.2007

Совместимость с версией WordPress: 1.5.0 и выше.

Решение проблемы is_home, когда открывается не главная страница блога

Добавлено 12 мая 2010 в категорию Плагины.

Потратил сегодня пару часов, пытаясь понять, почему функция is_home() возвращает значение TRUE даже если открыта не главная страница блога. Путем тестов выяснилось, что за главную страницу считается любая страница, образованная постраничной навигацией (/page/2, /page/3 и т.д.). Если подумать, то это вполне логично для функций типа is_category() – ведь при переходе на вторую страницу определенной рубрики сама рубрика остается той же самой. Но ситуация с is_home() совершенно другая – главных страниц в блоге не может быть больше одной. Вероятно для создателей WordPress понятие "main blog page" сродни категории с таким же названием. Обойти проблему оказалось довольно легко, надо вместо кода:

<?php if ( is_home() ) { ?>
	<h1>Главная страница!</h1>
<?php } else { ?>
	<h1>Это не главная страница!</h1>
<?php } ?>

Использовать код:

<?php if ( (is_home())&&!(is_paged()) ) { ?>
	<h1>Главная страница!</h1>
<?php } else { ?>
	<h1>Это не главная страница!</h1>
<?php } ?>

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