Поддержка Проблемы и решения Стиль первого поста в блоге

  • Здраствуйте!

    Мне нужно первый в блоге первый пост приукрасить другими стилями чем остальные посты.

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

    Как будет проще реализовать это?

    Я надумал так, виводить дважди. В одном блоке одну статью — последнюю, а в блоке ниже все кроме первой… Но как конкретезировать вывод и как следить за олдер и превиас пост ?

    Спасибо, с уважением, Андрей!

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Модератор Yuri

    (@yube)

    IMHO Проще следующим образом. В functions.php Темы (или делаем отдельный плагин) добавляем код

    add_filter('post_class', 'add_post_number');
    function add_post_number($classes) {
    	static $n;
    	if ($n == 0) $n = 1;
    	$classes[] = "post-num-" . $n++;
    	return $classes;
    }

    После чего контейнеры постов на страницах обзаведутся классами post-num-1, post-num-2 и т.д. по мере вывода. Разумеется, это сработает, если Тема использует post_class() (2010 и 2011 используют) Ну а дальше CSS в руки и красить до полного удовлетворения.

    Юрий, не подскажете, при нажатии на фото публикации на главной — я попадаю на эту публикацию все с тем же фото, как бы это фото убрать в самой публикации, но не на главной?

    Модератор Yuri

    (@yube)

    А при чем тут «Стиль первого поста»? Я не экстрасенс, как устроена Ваша Тема даже не представляю. А прицепить картинку к посту и вывести её можно более чем одним способом.

    Юрий, простите, что не по теме, у меня самая стандартная тема eleven, прицепить-то я прицепил, но вот при заходе на этот пост хотелось бы ее убрать, я пришел к выводу, что стандартно тут никак не получится, правильно?

    Модератор Yuri

    (@yube)

    Допотопный метод без правки файлов:
    В пост вставляется картинка и текст, выводимый в списках (на главной, в рубрике и т.д.), после него <!--more--><!--noteaser--> (разумеется, в режиме html) и далее текст, который будет выводится при просмотре поста.

    Современный способ подразумевает использование специальной фичи — «миниатюры поста».

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

    Юрий, а эта специальная фича «миниатюра поста» в админке находится или нужно где-то что-то править в файлах? А то я уже всю админку облазил — ничего не нашел…:(

    Модератор Yuri

    (@yube)

    Яндекс находит кучу статей на эту тему, например, http://wordpressinside.ru/functions/post-thumbnail/ Ну а в какой шаблон ставить вывод миниатюры, а в какой нет, это на личное усмотрение. Подсказки:
    1. в Теме 2011 поддержка миниатюр уже включена
    2. статья про иерархию шаблонов есть в документации (ссылка в шапке)
    3. в теме 2011 контент выводят скрипты с «говорящими» именами content-*.php

    Ок, понял, спасибо, Юрий… Поскольку <!—more—><!—noteaser—> легче всего использовать — решил на нем и остановиться.

    Спасибо !

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Стиль первого поста в блоге» закрыта для новых ответов.