Как закрепить наверху нужный пост?

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

Так вот, если у вас тоже возникла такая проблема, то решить вы ее сможете двумя способами:

1) с помощью плагина WP-Sticky, разработанного автором Lester ‘GaMerZ’ Chan .
2) изменив код в файле index.php в папке со своим шаблоном.

Начнем с первого способа. С плагина WP-Sticky. Сейчас в сети многие блоггеры предлагают скачать русифицированный WP Sticky 1.30. Так сделал и я. Скачал, разархивировал, выложил папку wp-sticky в папку wp-content/plugins , которая хранится на сервере и активировал добавленный плагин в админпанели блога. И получил в результате белую страницу – у меня пропали все записи – остались только колонки, «шапка» и «футер».

Стал разбираться. Начал разборки с посещения страницы автора плагина Lester ‘GaMerZ’ Chan. Оказалось, что версия плагина 1.3 WP-Sticky с версиями WordPress 2.7 и 2.8 не работает. В настоящее время самой новой версией плагина является версия WP-Sticky 1.5, которая и рассчитана на работу с версиями WordPress 2.7 и 2.8 .

Напомню, что у меня в моих блогах сейчас используется версия WordPress 2.8.4 , а это означает, что надеяться на работу версии плагина WP-Sticky 1.3 не приходилось. Естественно, что я скачал новую версию … Ну, а дальше все традиционно по схеме. В результате на страничке написания записей у меня появилось дополнительное меню со статусом записи.

Правда, возникла другая проблема – это дополнительное меню было на английском языке. Но эту проблему я быстро решил путем заливки в папку с плагином на сервере двух файлов – wp-sticky-ru_RU.mo и wp-sticky-ru_RU.po с русским переводом (спасибо переводчику плагина Анне Озерицкой!), взяв эти файлы из папки со старой, но зато русифицированной, версией плагина.

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

Кроме того, вы можете с помощью плагина WP-Sticky 1.5 присвоить какой-то записи тип – объявление. В этом случае вы сможете вывести эту запись в любом месте вашей темы, предварительно прописав там в коде шаблона строчку , но обращаю ваше внимание на то, что запись-объявление будет работать корректно только в том случае если для вывода даты у вас используется функция the_date().

Теперь по второму способу закрепления наверху нужного поста, то есть изменив код в файле index.php в папке со своим шаблоном. Такой способ рекомендуют на блоге WordPressHelp, предлагая в зависимости от вашего шаблона отредактировать файлы шаблона home.php, index.php или page.php , то есть редактировать надо те файлы, которые выводят информацию на главную страницу вашего блога.

Для этого авторы предлагают найти сначала в коде файлов своего шаблона следующие строчки:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Эта конструкция заканчивается строчками:

<?php endwhile; else: ?>
<p>Извините, но по вашему запросу ничего не найдено.</p>

<?php endif; ?>

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

<?php if (have_posts()) : ?>

<?php $my_query1 = new WP_Query('category_name=featured&showposts=1'); ?>
<?php while ($my_query1->have_posts()) : $my_query1->the_post(); ?>

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

Я произвел все предлагаемые авторами изменения в коде, но нужного результата, к сожалению, не получил. Почему? Я не знаю … Вполне возможно, что у меня «кривые руки», а, может быть, просто не срабатывает предлагаемая авторами блога конструкция. Во всяком случае, я предлагаю каждому блоггеру поэкспериментировать с этой конструкцией самому, а потом отписаться о полученных результатах в комментариях к этой записи.

Я же решил, что экспериментировать больше не буду. Просто нет лишнего времени. А проблему же закрепления нужного поста наверху в своих блогах в дальнейшем буду решать с помощью плагина WP Sticky 1.50, ибо первый способ мне показался проще … Во всяком случае, при желании плагин позволяет обойтись без копания в коде, что для многих начинающих блоггеров (хотя сразу скажу, что себя лично я к начинающим не отношу, ибо данный блог у меня уже n-ный по счету) может вызвать определенные затруднения.

Сообщение опубликовано во Воскресенье, 13 Сентябрь, 2009 в рубрике Плагины. Вы можете следить за любыми комментариями на эту запись через RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

5 Responses to “Как закрепить наверху нужный пост?”

  1. Дмитрий

    Столкнулся с той же проблемой в версии 1.30. Статья реально помогла.

  2. Сергей

    Версия 1.5 – у меня так же не сработала. Второй метод пока еще не пробовал..

  3. Герман

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

  4. Владимир

    Спасибо автору этого поста! Поставил WP-Sticky на версию WP 3.0.1 и всё стало работать корректно сразу после активации. Ничего переделывать не надо! Единственный вопрос по поводу статуса Объявления… Разъясните, пожалуйста, дилетанту, как можно подробнее, каким образом можно вывести это объявление в любом месте? Это очень интересная опция, согласитесь?

  5. Калиостро

    Владимир

    … Разъясните, пожалуйста, дилетанту, как можно подробнее, каким образом можно вывести это объявление в любом месте? Это очень интересная опция, согласитесь?

    Объявление можно вывести в любом месте вашей темы при помощи < ?php announcement_banner(); ?> , но, обращаю ваше внимание на то, что объявление будет работать корректно только в том случае, если для вывода даты у вас используется функция the_date(). В целом, для вывода нужных объявлений в любом месте годится почти любой плагин, позволяющий выводить на блоге баннеры … например, подойдет плагин WPAds

Оставьте отзыв или комментарий


Comment Spam Protection by WP-SpamFree