Как да показвате публикации от категория с миниатюри в WordPress (създаването им в Auto Post Thumbnail
Вече писах за вътрешното свързване и методите за неговото прилагане в този блог, така че тук няма да хвърля сянка върху оградата и да кажа защо Wikipedia, поради цялостното си свързване (е, и не само) е в Топ за огромния брой информационни заявки на двете търсачки.
Като цяло, с голяма трудност се опитах да си спомня как беше приложено, защото вече бях успял успешно да забравя всичко (когато бях студент, за един или три дни можех да натъпкам всеки предмет, където има логическа връзка, използвайки всякакви налични материали, в главата си и ден след като премина всичко до нула). Но не това е важното.
Всичко е страхотно и дори тествах този изглед в блога за няколко дни (въпреки че беше използван малко по-сложен метод за показване на миниатюри, който е описан по-долу). Но тогава нещо не беше вмъкнато и го промених на това, което наблюдавате сега (ако не промених всичко отново):
Да, почти забравих, цялото това безобразие трябва да севмъкне директно на мястото на шаблона на WordPress, където трябва да се показват предишните публикации. Обикновено това е файлът single.php или index.php (ако няма единичен) от папката с темата, която използвате:
И извайвайте огромното парче код точно над него веднага след него.ВАЖНО. Всичко трябва да работи, но така или иначе, първо направете резервно копие на вашите файлове с теми само в случай на пожар и не използвайте функциите на WordPress за редактиране на файлове с шаблони, защото когато работите, например, в куп FileZila и Notepad ++, винаги ще имате възможност да се върнете назад, ако не успеете или направите грешка.
Създаване на миниатюра от първото изображение на публикация
Използването на функцията "the_post_thumbnail" е най-добрият вариант, койтоне внедрих (всъщност го внедрих с помощта на автоматичния плъгин, споменат по-долуМиниизображението на публикацията и полученият код са дадени в най-долната част на статията), защото хвърлям илюстрационни файлове за статии директно към хостинг чрез най-добрия FTP мениджър и вмъквам шаблон в текста на статията, в който след това променям името на файла с изображение и неговото описание в атрибутите Alt и Title на етикета Img:
Правех това дори преди WordPress да започне да поддържа миниатюри и следователно, дори и да премина към нов начин за добавяне на графики към блог, някои от статиите пак ще останат без миниатюри.
Имаше два варианта за по-нататъшно развитие на събитията: или да потърситеначин за автоматично създаване на миниатюри за всички статии (изглежда, че дори го намерих, но ако някой знае тествана версия, тогава хвърлете връзка, моля), или по някакъв начин издърпайте първото изображение от всички публикации и го направете миниатюра с желания размер.
P.S. Намерен е начин за автоматично създаване на миниатюри - това е плъгинътAuto Post Thumbnail. След инсталирането отидете на неговите настройки и щракнете върху бутона, за да създадете миниатюрни изображения с различни размери, които ще бъдат базирани на първото изображение на публикацията.
Половин час чакане и миниатюри за всички статии в блога ще бъдат създадени автоматично. Лепота.
По някаква причина моята мисъл (търсене) първо мина по втория канал и именно тази опция беше внедрена, а по-късно заменена от класическата функция за работа с миниатюри the_post_thumbnail (масив (200,200).
Това се случи, защото описаната тук опция имаше един съществен недостатък (ако не греша) -изображението в пълен размер от публикацията се изтегля от функцията, което след това се намалява до желания размер на миниатюра с помощта на езика за маркиране на CSS (използвайки височина и ширина).
Ако това е критично за блога KtoNaNovenkogo.ru, но несилно, тъй като първите снимки първоначално нямат много голямо тегло (средно 30 килограма), тогава това ще бъде сериозен проблем за фотоблог.
Всъщност относнокак да извадите първото изображение от всяка публикация в WordPress. Ще бъде достатъчно да добавите следната функция catch_that_image към вашия файл с тема, наречен functions.php (където и да е, но след края на някоя друга функция, а не в средата):
Добавяте и след това леко променяте огромния код на функцията show_previous_posts_from_category по-горе, защото сега трябва да използваме новодобавената функция catch_that_image вместо стандартната функция_post_thumbnail.
Получих нещо подобно в PHP код (вмъква се в single.php или index.php на вашата тема според принципа, описан малко по-горе):
Деветте в предпоследния ред означават броя на публикациите, които ще бъдат показани, а основната функция се крие в този раздел от кода:
- Първият с празен контейнер Div, фонът за който е първото изображение от тази публикация, извадено с помощта на функцията catch_that_image (тя се задава от свойството CSS background), което е намалено до размерите, от които се нуждая, с помощта на свойствата width:200px и height: 150px и с помощта на background-size: 100%, не се показва горната му лява част, а намалено копие.
- Вторият контейнер Div, използващ функцията trim_title_chars (110, '. '), ви позволява да покажете точно под това фоново изображение заглавието на публикацията, в коетосе показват само първите 110 знака, тъй като моите заглавия са много дълги (прочетете за мета таговете за заглавие, описание и ключови думи) и създават бъркотия в подредени редове от пощенски картички. Ако не искате да изрязвате, можете да използвате традиционната функция the_title().
Е, това е ясновсичко, което можеше да бъде поставено в класове, извадих, така че не би било излишно да ги донеса тук (те живеят в отделен стилов файл style.css в папката на темата):
Отново, нооб стил, но работи. С помощта на border се задава плътна рамка с ширина един пиксел, а с помощта на Padding и margin - вътрешни и външни отстъпи (добре е кодът да се анализира с помощта на Firebug или неговите аналози, вградени във всички браузъри).
Float кара пощенските картички да плават и да се сгушат вляво, но не забравяйте, че останалите кодови блокове не забелязват плаващи елементи, така че за да избегнете залепването им в дъното, трябва да посочите свойството Clear:both в CSS свойствата на долния (следващия след тях) блог, за да можете да задавате отстъпи от него към блоковете от карти на предишни публикации, плаващи в горната част. Интересното е, че аз самият бих разбрал какво съм написал, не го пишете сами. Съмнявам се, но ме мързи да обясня по-подробно. съжалявам
Последните два реда правят връзките, които не са подчертани, когато задържите курсора на мишката върху тях (прочетете за селектора на курсора и декорацията на текста) и задават сив фон, когато задържите курсора на мишката върху картата, което според мен добавя малко оживление. List-style-type премахва номерацията от Html списъка, който използвам (OL и LI). Глупаво, глупаво, но интересно.
P.S. Ако вече имате миниатюри или сте ги създали автоматично за всички публикации с помощта на приставката Auto Post Thumbnail, спомената малко по-горе, тогава можете да използвате по-прост и лесен начин по отношение на натоварването на сървъра:
Как да показвате миниатюри на публикации на страници с категории
Между другото, първата опция показва анонса на статията преди етикета Още, а втората само 50 (по мое мнение) първи думи. Въпреки това, броят на думите може да варира чрез добавяне на следния код към functions.php:
Но не е смисълът. Така че премахвамепосочената конструкция, както и частта точно отгоре, където се показва заглавието на статията:
И вместо тях вмъкваме вече споменатия по-горе фрагмент:
Но не всичко е толкова просто. Трябва да влезете в цикъла и правилно да изхвърлите съществуващите блокове. Аз, както вече казах, не съм силен в PCP, но чрез относително кратки итерации успях да получа резултата, от който се нуждаех. Направих това за друг проект, в шаблона на който нямаше файл archive.php и го създадох на базата на файла index.php. Доста дълго е да обясня същността, така че ще дам и двата файла, а вие можете да сравните и да направите същото за себе си.
Имаше този index.php:
От него, като премахнете излишното и добавите необходимото, файлът archive.php се оказа така:
Това всъщност е всичко. О да. Не ми хареса, че страниците с категории и етикети показват толкова много публикации, колкото главната страница. Исках повече. Оказа се, че не е трудно да направите това - достатъчно е да замените конструкцията с:
Къде и посочете необходимия брой статии, показвани на архивните страници. Всичко.